PTA中如何出Java题目?
很多第一次出Java编程题的老师,不知道Java在PTA中是如何处理输入的。写一篇文章供大家参考。
有多种类型输入的编程题:
类型1:固定数量输入
从控制台读入**两个**数,然后将其相加输出。
对于该题可以有如下两种样例输入输出:
样例输入输出1:
输入:
1 2
输出:
3
或者
样例输入输出2:
输入:
1
2
输出:
3
注意:
- 样例输入对应着输入文件中的内容,比如对应着输入文件
0.in
,一般来说该文件的最后还要有一个回车,比如1 2后面应有一个回车。 - 样例输出对应着输出文件的内容,比如对应着输出文件
0.out
。 - 文件必需使用
UTF-8
格式编码,回车换行要使用Linux的回车换行。可以使用Notepad++进行处理。 - 不要出现中文!不管是输入文件、输出文件还是学生提交的代码。
对以上题目有几种解法:
解法1:
Scanner sc = new Scanner(System.in);
int a = sc.nextInt(); //直接将字符串转化为int
int b = sc.nextInt();
System.out.println(a+b);
sc.close();
解法2:
Scanner sc = new Scanner(System.in);
int a = Integer.parseInt(sc.next()); //先将每个单元读出为字符串,然后再将其转化为int型
int b = Integer.parseInt(sc.next());
System.out.println(a+b);
sc.close();
使用next()
方法可以自动跳过空格、多个空格、空行、回车换行
。推荐使用。
解法3(适用于样例输入输出2,每行只有一个数):
Scanner sc = new Scanner(System.in);
int a = Integer.parseInt(sc.nextLine()); //nextLine处理整行,因此如果需要将整行作为一个处理单元,可以使用nextLine
int b = Integer.parseInt(sc.nextLine());
System.out.println(a+b);
sc.close();
注意:
- 以上所有处理方法都必须先
import java.util.Scanner
。 - 代码中尽量不要将
nextLine()
与其他如next()
、nextInt()
等方法混用,否则会出现nextLine()
只读取到行尾回车换行符的问题。
类型2:不定数量输入
从控制台读入**若干**整数,然后将其相加输出。
对于该题可以有如下两种样例输入输出:
样例输入输出1:
输入:
1 2 3 4 5 6 7
8 9 10
输出:
55
或者
样例输入输出2:
输入:
1
2
3
4
5
6
7
8
9
10
输出:
55
解法1:可处理上述两种输入
Scanner sc = new Scanner(System.in);
int x = 0;
while(sc.hasNextInt()) { //也可替换为sc.hasNext()
x += sc.nextInt(); //也可替换为Integer.parseInt(sc.next())
}
System.out.println(x);
sc.close();
解法2:可处理样例输入输出2
Scanner sc = new Scanner(System.in);
int x = 0;
while(sc.hasNextLine()) { //也可替换为sc.hasNext()
x += sc.nextIntLine(); //也可替换为Integer.parseInt(sc.next())
}
System.out.println(x);
sc.close();
注意:
- 当使用
hasNextInt()
时,在Eclipse中测试的时候,程序不会停止。但是在PTA可正常提交。 - 一般来说
hasNext()
与next()
、hasNextInt()
与nextInt()
、hasNextLine()
与nextLine()
配合使用,其他依次类推。
类型3:输入中可能包含不同类型的数据
如果所处题目样例输入中可能要对出现的数字、字符串、bool类型数据区别对待,并且这些数据出现无规律。
可尝试使用Scanner的next()
方法,先将其转换字符串再进行处理。
其他PTA相关文章:
PTA中如何出Java题目?的更多相关文章
- PTA中如何出Java编程题?
很多第一次出Java编程题的老师,不知道Java在PTA中是如何处理输入的.写一篇文章供大家参考. 有多种类型输入的编程题: 类型1:固定数量输入 从控制台读入**两个**数,然后将其相加输出. 对于 ...
- PTA中提交Java程序的一些套路
201708新版改版说明 PTA与2017年8月已升级成新版,域名改为https://pintia.cn/,官方建议使用Firefox与Chrome浏览器. 旧版 PTA 用户首次在新版系统登录时,请 ...
- 原创:从海量数据中查找出前k个最小或最大值的算法(java)
现在有这么一道题目:要求从多个的数据中查找出前K个最小或最大值 分析:有多种方案可以实现.一.最容易想到的是先对数据快速排序,然后输出前k个数字. 二.先定义容量为k的数组,从源数据中取出前k个填 ...
- java中从1000万个随机数中查找出相同的10万个随机数花的最少时间
偶然在群里看到有人问到大数据查询,自己也就想了小艾改如何解决,从从1000万个随机数中查找出相同的10万个随机数花的最少时间, 谈到效率,自然是hashmap莫属. import java.util. ...
- 找出Java进程中大量消耗CPU
原文:https://github.com/oldratlee/useful-shells useful-shells 把平时有用的手动操作做成脚本,这样可以便捷的使用. show-busy-java ...
- Java中过滤出字母、数字和中文的正则表达式
1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式 [^(A-Za-z)] (2)过滤出数字的正则表达式 [^(0-9)] (3)过滤出中文的正则表达式 [^(\\u4e0 ...
- java算法面试题:从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序 ;读取docx 读取doc 使用poi 相关jar包提集提供下载
从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序 1,张三,28 2,李四,35 3,张三,28 4,王五,35 5,张三,28 6,李四,35 7,赵六,28 ...
- ClassLoader Java中类加载出现在哪个阶段,编译期和运行期? 类加载和类装载是一样的吗
1.ClassLoader Java中类加载出现在哪个阶段,编译期和运行期? 类加载和类装载是一样的吗? :当然是运行期间啊,我自己有个理解误区,改正后如下:编译期间编译器是不去加载类的,只负责编译而 ...
- AJPFX总结关于Java中过滤出字母、数字和中文的正则表达式
1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式 [^(A-Za-z)] (2) 过滤出 数字 的正则表达式 [^(0-9)] (3) 过滤出 中文 的正则 ...
随机推荐
- c#获取网络时间并同步本地时间
通过TCP形式来获取NTP时间.主要代码如下: [DllImport("kernel32.dll")] private static extern bool SetLocalTim ...
- 机器学习:scipy和sklearn中普通最小二乘法与多项式回归的使用对
相关内容连接: 机器学习:Python中如何使用最小二乘法(以下简称文一) 机器学习:形如抛物线的散点图在python和R中的非线性回归拟合方法(以下简称文二) 有些内容已经在上面两篇博文中提到了,所 ...
- MySQL/MariaDB触发器
本文目录:1.创建触发器2.insert触发器3.delete触发器4.update触发器5.通过on duplicate key update分析触发器触发原理6.replace to算法验证7.查 ...
- python读取excel时,数字自动转化为float
xlrd模块去读excel时会将数字类型的自动转化为浮点数,这是一个小坑.在网上查了一下,该模块的作者也说过Excel treats all numbers as floats. In general ...
- svg param.js的大bug
在svg文件里定义控件,带参数,然后引用. 如果是 text 且没有为其它添加默认值,那么会报错. 即, <svg width="200" height="200& ...
- [LeetCode] Construct the Rectangle 构建矩形
For a web developer, it is very important to know how to design a web page's size. So, given a speci ...
- [ZJOI2010]基站选址
题目描述 有N个村庄坐落在一条直线上,第i(i>1)个村庄距离第1个村庄的距离为Di.需要在这些村庄中建立不超过K个通讯基站,在第i个村庄建立基站的费用为Ci.如果在距离第i个村庄不超过Si的范 ...
- 计蒜客NOIP模拟赛(2) D2T1 劫富济贫
[问题描述] 吕弗·普自小从英国长大,受到骑士精神的影响,吕弗·普的梦想便是成为一位劫富济贫的骑士. 吕弗·普拿到了一份全国富豪的名单(不在名单上的都是穷人),上面写着所有富豪的名字以及他们的总资产, ...
- 【HDU 2966 k-dimensional Tree 入个门】
·“k-d树是一种分割k维数据空间的数据结构.主要应用于多维空间关键数据的范围搜索和最近邻搜索……”’' ·英文题,述大意: 给出平面内n个点(n<=100000,0<=x, ...
- bzoj3702二叉树 线段树合并
3702: 二叉树 Time Limit: 15 Sec Memory Limit: 256 MBSubmit: 600 Solved: 272[Submit][Status][Discuss] ...