很多第一次出Java编程题的老师,不知道Java在PTA中是如何处理输入的。写一篇文章供大家参考。

有多种类型输入的编程题:

类型1:固定数量输入

从控制台读入**两个**数,然后将其相加输出。

对于该题可以有如下两种样例输入输出:

样例输入输出1:
输入:
1 2
输出:
3 或者 样例输入输出2:
输入:
1
2
输出:
3

注意:

  1. 样例输入对应着输入文件中的内容,比如对应着输入文件0.in,一般来说该文件的最后还要有一个回车,比如1 2后面应有一个回车。
  2. 样例输出对应着输出文件的内容,比如对应着输出文件0.out
  3. 文件必需使用UTF-8格式编码,回车换行要使用Linux的回车换行。可以使用Notepad++进行处理。
  4. 不要出现中文!不管是输入文件、输出文件还是学生提交的代码。

对以上题目有几种解法:

解法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();

注意:

  1. 以上所有处理方法都必须先import java.util.Scanner
  2. 代码中尽量不要将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();

注意:

  1. 当使用hasNextInt()时,在Eclipse中测试的时候,程序不会停止。但是在PTA可正常提交。
  2. 一般来说hasNext()next()hasNextInt()nextInt()hasNextLine()nextLine()配合使用,其他依次类推。

类型3:输入中可能包含不同类型的数据

如果所处题目样例输入中可能要对出现的数字、字符串、bool类型数据区别对待,并且这些数据出现无规律。

可尝试使用Scanner的next()方法,先将其转换字符串再进行处理。

其他PTA相关文章:

PTA中提交Java程序的一些套路

PTA分享码-Java

PTA中如何出Java编程题?的更多相关文章

  1. PTA中如何出Java题目?

    PTA中如何出Java题目? 很多第一次出题的老师,不知道Java在PTA中是如何处理输入的.写一篇文章供大家参考.比如以下这样的一个题目: 从控制台读入两个数,然后将其相加输出. 对于该题可以有如下 ...

  2. 50道经典的JAVA编程题(46-50)

    50道经典的JAVA编程题(46-50),最后五道题了,这是一个美妙的过程,编程真的能让我忘掉一切投入其中,感觉很棒.今天下午考完微机原理了,大三上学期就这样度过了,这学期算是解放了,可是感觉我还是没 ...

  3. 今天考试的JAVA编程题

    今天早上考了java, 题目感觉还不错, 共四道题,有一道定义类的没啥意思就没列出来. 这三道题目还是不错的,特别是第一道,大一上学期学linux的时候,那时还没学C语言呢,准确的来说,还不知道什么是 ...

  4. 50道经典的JAVA编程题(36-40)

    50道经典的JAVA编程题(36-40),今天晚上心情压抑,不爽,继续做题,管它明天考试,我继续我的java,一个周末都在看微机原理看得的很头疼啊~明天该挂科就挂吧,不在乎了~~~ [程序36] Ar ...

  5. 50道经典的JAVA编程题(41-45)

    50道经典的JAVA编程题(41-45),苦逼的程序猿,晚上睡不着了编程吧~今天坚持做10道题!发现编程能是我快乐...O(∩_∩)O哈哈~能平静我烦乱的心,剩下5道题留到考试完了再做吧!该睡觉了.. ...

  6. 50道经典的JAVA编程题(31-35)

    50道经典的JAVA编程题(31-35),今天考完了java,在前篇博客里面贴出了题了,见:<今天考试的JAVA编程题>.考完了也轻松了,下个星期一还考微机原理呢,啥都不会,估计今天就做到 ...

  7. 50道经典的JAVA编程题(26-30)

    50道经典的JAVA编程题(26-30),这么晚了,早点睡了要,明早8点考java祝我好运吧!!!晚安~ [程序26]Ex26.java(跳过了,好没意思的题啊)题目:请输入星期几的第一个字母来判断一 ...

  8. 50道经典的JAVA编程题(21-25)

    50道经典的JAVA编程题(21-25),明天早上java考试了,还是坚持做题吧...这题比老师的题好多了! [程序21]TestJieCheng.java题目:求1+2!+3!+...+20!的和1 ...

  9. 50道经典的JAVA编程题 (16-20)

    50道经典的JAVA编程题 (16-20),用了快一个下午来做这10道题了,整理博客的时间貌似大于编程的时间啊..哈哈 [程序16]Nine.java 题目:输出9*9口诀. 1.程序分析:分行与列考 ...

随机推荐

  1. 仿EXCEL插件,智表ZCELL产品V1.7 版本发布,增加自定义右键菜单功能

    详细请移步 智表(ZCELL)官网www.zcell.net 更新说明  这次更新主要应用户要求,主要解决了自定义右键菜单事件的支持,并新增了公式中自定义函数传参.快捷键剪切等功能,欢迎大家体验使用. ...

  2. FI-FBV0 - No batch input data for screen SAPMF05A 0700

    在预制凭证过账的时候报错:没有屏幕SAPMF05A 0700 的批输入数据 https://answers.sap.com/questions/7203025/fbv0-no-batch-input- ...

  3. intellij IDEA github clone 指定分支代码

    1.问题描述 在实际开发中,我们通常会使用idea克隆一个新项目(clone),通常情况下,我们默认克隆的是master分支,但是如果master分支只是一个空文件夹而已,真正的代码在develop分 ...

  4. scrapy 写文件进行debug调试

    首先进入和setting同级目录 新建run.py文件 # *_*coding:utf-8 *_* from scrapy import cmdline cmdline.execute('scrapy ...

  5. sqlserver 备份集中的数据库备份与现有的 'XXX' 数据库不同。

    需求是将Ecology复制一份出来用于发布测试程序. 方案一 正确步骤 1.新建数据库Ecology2 2.选中Ecology2 点击右键:任务--还原--文件和文件组 选中源设备--点击右侧...按 ...

  6. 优化nginx数据包头缓存

    例子:414错误,网址太长. 长网址访问例子: 以下脚本会生成一个长网址并访问,导致414长网址报错. [root@proxy ~]#vim nginx_test.sh #!/bin/bash URL ...

  7. ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2017)- K. Poor Ramzi -dp+记忆化搜索

    ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2017)- K. ...

  8. RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems

    一.摘要 为了解决协同过滤的稀疏性和冷启动问题,社交网络或项目属性等辅助信息被用来提高推荐性能. 考虑到知识图谱是边信息的来源,为了解决现有的基于嵌入和基于路径的知识图谱感知重构方法的局限性,本文提出 ...

  9. 【原创】selenium+python+openpyxl实现登录自动化测试,自动读取excel用例数据,并将数据结果自动写入到excel

    # -*- coding: utf-8 -*- from selenium import webdriver from openpyxl import load_workbook from time ...

  10. mysql类似to_char()to_date()函数mysql日期和字符相互转换方法date_f

    mysql 类似to_char() to_date()函数mysql日期和字符相互转换方法 date_format(date,'%Y-%m-%d') -------------->oracle中 ...