第3关:基本输入输出 - 与计算机交互

任务描述 相关知识 Java获取命令行输入 Java Scanner类 Java向显示器输出 System.out 编程要求 评测说明 任务描述 本关的任务是编写你的第一个包含输入输出的Java程序,为今后的实训打下基础。

本题主要讨论从键盘读取数据以及向显示器输出数据,其他的输入/输出场景暂不做要求,以后会再详细学习。

Java获取命令行输入 Java Scanner类 Java中从命令行获取键盘输入的方法有很多,其中Scanner类是在Java5中加入的新特性,也是现在主流的获取命令行输入的方法。

注:使用Scanner类需要导入包:

import java.util.Scanner; 请看下面的演示,我们用Scanner类的next()和nextLine()方法获取命令行输入的字符串:

import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //实例化一个Scanner类的scanner对象,对象和类的知识以后会学习,这里同学们先记住标准写法;System.in表示标准输入设备,默认设备是键盘 //以next方式接收字符串 if (scanner.hasNext()) { //判断是否还有输入 String string = scanner.next(); //接收数据 System.out.println(“输入的数据为:” + string); //输出变量string } } } 如果从键盘输入Hello World执行上面的程序结果为: 输入的数据为:Hello

可以看到,变量string只接收到了Hello,接下来我们看nextLine()方法:

import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //以nextLine方式接收字符串 if (scanner.hasNextLine()) { String string = scanner.nextLine(); System.out.println(“输入的数据为:” + string); } } } 执行上面的程序结果为: 键盘输入:Hello World 输入的数据为:Hello World

next()与nextLine()的区别

next():

一定要读取到有效字符后才可以结束输入。 对输入有效字符之前遇到的空格,next()方法会自动将其去掉。 只有输入有效字符后才将其后面输入的空格作为分隔符或者结束符。 next() 方法不能得到带有空格的字符串。 nextLine():

以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。 可以读取空格。 如果要输入int或float等类型的数据,在Scanner类中也有相应的方法,例如nextInt()或nextFloat()等,在读取之前最好也先使用hasNextInt()等方法对是否还有输入进行验证。

Java向显示器输出 System.out System.out表示标准输出设备,默认设备是显示器。使用System.out所包含的方法无需导入额外的包。

System.out主要包含两个方法,System.out.print()和System.out.println()。

使用System.out.println()方法输出时,会在输出完数据之后自动输出一个换行符;使用System.out.print()方法输出则不会,请看示例:

public class OutputDemo { public static void main(String[] args) { System.out.println(1); System.out.println(2); System.out.print(1); System.out.print(2); } } 执行上面的程序结果为:

1 2 12 可以看到,执行System.out.println(1);和System.out.println(2);后,Java会自动输出一个换行符,也就是回车到了下一行。

编程要求 本关的编程任务是补全右侧代码片段中Begin至End中间的代码,具体要求:

使用number1和number2变量保存从命令行读取的两个int型数据。 使用number3变量保存number1和number2变量的和。 输出number3变量(注意:请使用System.out.print()方法) 评测说明 平台将自动编译补全后的代码,并生成若干组测试数据,接着根据程序的输出判断程序是否正确。

以下是测试样例:

测试输入: 3 4 预期输出: 7 package step3;

import java.util.Scanner;

public class IO { public static void main(String[] args) { int number1; int number2; int number3; /********** Begin *********/ Scanner in=new Scanner(System.in); number1=in.nextInt(); number2=in.nextInt(); number3=number1+number2; System.out.print(number3);

/********** End *********/
}

}

经验分享 程序员 微信小程序 职场和发展