首页 > 编程语言 >pta java

pta java

时间:2024-06-24 14:27:34浏览次数:37  
标签:输出 java String 样例 System pta public Scanner

R7-1 标识符命名方式转换:Camel2Snake

分数 10

在程序设计语言中,标识符都不能包含空格。如果我们需要使用两个或两个以上的单词来命名标识符,目前的工程实际中有两种常用的命名方式:Snake方式和Camel方式。
Snake方式是指单词用小写字母,单词间下划线(“_”)代替空格;Camel方式是指相邻单词首字母用大写表示。

例如,你想定义一个变量表示一个数组数字之和,并且用英文“sum of array”。我们使用Snake方式的变量名为:sum_of_array;用Camel命名方式的变量名为:sumOfArray。

现在请你将一个Camel方式命名的变量,转换成Snake方式命名的变量。

【数据范围】
输入字符串长度不超过255,只包含小写字母和大写字母,第一个和最后一个字符不可能是大写字母,且保证没有两个连续的大写字母出现。

输入格式:

第一行一个字符串,表示用Camel方式命名的变量名。

输出格式:

输出转换成Snake方式命名的变量名。

输入样例:

在这里给出一组输入。例如:

sumOfArray

输出样例:

在这里给出相应的输出。例如:

sum_of_array
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String str=sc.nextLine();
        char[] ch=new char[str.length()];
        for(int x=0;x<str.length();x++){
            ch[x]=str.charAt(x);
            if(ch[x]>='A' && ch[x]<='Z'){
                ch[x]+=32;
                System.out.print("_"+ch[x]);
            }
            else{
                System.out.print(ch[x]);
            }
        }
    }
}

R7-2 两个巨大素数(质数)的乘积

分数 10

得到两个巨大素数(质数)的乘积是简单的事,但想从该乘积分解出这两个巨大素数却是国际数学界公认的质因数分解难题。这种单向的数学关系,是不对称加密RSA算法的基本原理。
本题给出两个大素数(128bit位)的乘积和其中一个素数,请你编程求出另一个素数。

输入格式:

44022510695404470886511586569647292146578314354528108825807522926455663589709 (大素数的乘积)

189193782774204832019945226750213439577 (其中一个大素数)

输出格式:

232684764001698545563067004009755869717 (另一个素数)

输入样例:

60883665878129858935918958333091530420746054622405737630613777684610994823161
271963475875372143777333694041058521413

输出样例:

223867067745633357281812540202957589797

import java.util.*;
import java.math.*;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        BigDecimal mp=sc.nextBigDecimal();
        BigDecimal a=sc.nextBigDecimal();
        System.out.println(mp.divide(a));
    }
}

R7-3 使用公历类GregorianCalendar

分数 10

使用公历类 GregorianCalendar,公历类 GregorianCalendar有方法setTimeInMillis(long);可以用它来设置从1970年1月1日算起的一个特定时间。请编程从键盘输入一个长整型的值,然后输出对应的年、月和日。例如输入:1234567898765,输出:2009-1-14

输入格式:

输入

1234567898765 (毫秒数)

输出格式:

输出

2009-1-14 (输出年、月和日,实际应该是2月,因为Java API 从0开始计算月份)

输入样例:

1450921070108

输出样例:

2015-11-24

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        String s=in.next();
        Calendar c=Calendar.getInstance();
        c.setTimeInMillis(Long.parseLong(s));
        System.out.println(c.get(Calendar.YEAR)+"-"+c.get(Calendar.MONTH)+"-"+c.get(Calendar.DAY_OF_MONTH));
    }
}

R7-4 查找电话号码

分数 10

文件phonebook1.txt中有若干联系人的姓名和电话号码。

高富帅 13312342222

白富美 13412343333

孙悟空 13512345555

唐三藏 13612346666

猪悟能 13712347777

沙悟净 13812348888

请你编写一个简单的通信录程序,当从键盘输入一个姓名时查找到对应的电话号码并输出。如果没找到则显示Not found.
由于目前的自动裁判系统暂时不能支持用户读入文件,我们编写程序从键盘输入文件中的姓名和电话号码,当输入的名字为noname时,表示结束。noname后面有一个名字,需要查找其对应的电话号码。

输入格式:

高富帅 13312342222

白富美 13412343333

孙悟空 13512345555

唐三藏 13612346666

猪悟能 13712347777

沙悟净 13812348888

noname (表示结束)

唐三藏 (需要查找此人的电话号码)

输出格式:

13612346666 (输出对应的电话号码)

输入样例:

白富美 13412343333
孙悟空 13512345555
唐三藏 13612346666
猪悟能 13712347777
沙悟净 13812348888
noname
白骨精

输出样例:

Not found.

import java.util.*;

public class Main{
    public static void main(String args[]){
        Map<String,String> map=new HashMap<String,String>();
        Scanner in =new Scanner(System.in);
        while (in.hasNext()){
            String name=in.next();
            if(name.equals("noname")){
                break;
            }
            else{
                String phone=in.next();
                map.put(name,phone);
            }
        }
        String seek_name=in.next();
        if(map.containsKey(seek_name)){
            System.out.println(map.get(seek_name));
        }
        else{
            System.out.println("Not found.");
        }
    }
}

标签:输出,java,String,样例,System,pta,public,Scanner
From: https://blog.csdn.net/wuyufei_sun/article/details/139908217

相关文章

  • Java语言助力企业实现个人信息的实名认证
    如今,人工智能发展迅速,任何经营活动,都难免会跟个人信息打交道,那么,什么是个人信息呢?有人认为,以电子或者其他方式记录的能够单独或者与其他信息结合识别特定自然人身份或者反映特定自然人活动情况的各种信息。包括姓名、出生日期、身份证件号码、个人生物识别信息、住址、通信通......
  • 2024Java基础八股文(背诵版)
    Java基础八股文(背诵版)Java语言具有哪些特点?Java为纯面向对象的语言。它能够直接反应现实生活中的对象。具有平台无关性。Java利用Java虚拟机运行字节码,无论是在Windows、Linux还是MacOS等其它平台对Java程序进行编译,编译后的程序可在其它平台运行。Java为解释型......
  • JavaScript发送带附件的电子邮件
    consttransporter=nodemailer.createTransport({host:"smtp.qq.com",//SMTP服务器地址port:465,//SMTP端口,对于SSL使用465secure:true,//对端口465使用“true”,对所有其他端口使用“false”auth:{user:"发件人邮箱",//发件人邮箱pass:"......
  • Java创建List的4种方法
    1、通过构造方法,例如:List<String>list=newArrayList<>();然后调用list.add增加元素,如果知道初始化的值,这种先构造再一项项添加的方式,用起来并不爽,于是一边都用下面的方法2、通过Arrays.asList("a","b");但是这种方法构造出的List是固定长度的,如果调用add方法增加新的元素,......
  • 520.力扣每日一题6/23 Java
    博客主页:音符犹如代码系列专栏:算法练习关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞......
  • 2748.力扣每日一题6/20 Java
    题目:给你一个下标从0开始的整数数组nums。如果下标对i、j满足0≤i<j<nums.length,如果nums[i]的第一个数字和nums[j]的最后一个数字互质,则认为nums[i]和nums[j]是一组美丽下标对。返回nums中美丽下标对的总数目。对于两个整数x和y,如果......
  • Javascript高级程序设计(第四版)--学习记录之基本引用类型
    DateDate类型将日期保存为自协调世界时间1970年1月1日午夜至今所经过的毫秒数。创建日期对象letnow=newDate()Date.parse()方法接收一个表示日期的字符串参数,尝试将这个字符串转换为表示该日期的毫秒数。lettime=newDate(Date.parse("May24,2024"));Date.now()......
  • 【JavaScript脚本宇宙】浏览器中的文件系统:深入了解最受欢迎的JavaScript库
    超越传统存储:探索创新的浏览器文件系统解决方案前言在现代的网页开发中,文件系统和文件操作是不可或缺的一部分。无论是上传图片、下载文档还是在浏览器中保存离线数据,我们都需要与文件系统进行交互。为了简化这些任务并提供更好的用户体验,有许多JavaScript库被开发出来,以......
  • Java实现管线拓扑关系连通性分析
    管线拓扑关系的连通性分析通常涉及图论(GraphTheory)中的概念,特别是无向图(UndirectedGraph)的遍历算法,如深度优先搜索(DFS,Depth-FirstSearch)或广度优先搜索(BFS,Breadth-FirstSearch)。在管线拓扑中,管线可以被视为图的边(Edge),而管线的连接点可以被视为图的节点(Vertex)。连通性分析......
  • Java Script-使用DOM编程实现移动坦克
    要求:实现:将坦克图片放在页面上:<imgid="mytank"src="./img/right.png"/>在css中设置坦克的初始位置以及页面背景:<styletype="text/css">    input{font-size:26px;margin-top:20px;}    body{background-image:url("./img/gra......