这个是我在做浙大acm中第一道题A+B problem的源码
以下两种方法是我们在java输入中较为常用的方法
第一种:scanner类(较为简单)
Scanner sc= new Scanner(System.in);
while (sc.hasNextInt()) {
int a=sc.nextInt();
int b=sc.nextInt();
System.out.println(a+b);
}当然,如果后面你想输入String 、float类型什么的都是一样的float f=sc.nextFloat();
String c=sc.nextLine();
System.out.println("字符串:"+c+"浮点型:"+f);第二种:BufferedReader类和InputStreamReader类(略微麻烦)public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
System.out.println("请输入字符串:");
try {
str = br.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("输入字符串为:"+str);
}scanner主要提供了两个方法来扫描输入(以下的函数在上述代码中均有示例,可提供参考):1、boolean hasNextXxx():是否还有下一个输入项,其中Xxx可以是Int,Long等基本数据类型的字符串。如果需要判断是否包含下一个字符串,可省去Xxx。
2、string nextXxx():获取下一个输入项。
以下两个方法用来读取一行:
1、boolean hasNextLine():是否还有下一行
2、string nextLine():返回下一行的字符串
BufferedReader是javaIO流中的一个字符串、包装类,它必须建立在另一个字符流的基础之上,但system.in是字节流,需用InputStreamReader将其包装成字符流。
两者不同之处在于:
BufferedReader可以逐行读取用户的键盘输入,每次用户的键盘输入都被BufferedReader当成string对象。
Scanner不仅读取用户的键盘输入,还可以读取文件输入。只要在创建Scanner对象时,传入一个File对象作为参数即可。
默认情况下,Scanner使用空白(空格、回车)作为多个输入项之间的分隔符。
与Scanner不同的是,BufferedReader不能读取基本类型输入项,它总是读取string对象。
本文介绍了Java中常用的两种输入方法:Scanner类和BufferedReader类结合InputStreamReader类的使用方式。通过示例展示了如何读取整数、浮点数及字符串,并对比了这两种方法的特点。
16万+

被折叠的 条评论
为什么被折叠?



