回顾一下上节课,我们从键盘获取了一个输入,实现了与程序的互动,然而当我们要输入一行信息时候,比如
I LOVE THIS GAME
的时候,系统显示给我们却只是一个 “I”,这是因为Scanner取得输入的键或者是回车键的时候,Scanner就会返回到下一个输入。依据是空格符,当输入为空格键,TAB。
那怎么获取一个包含空格的输入呢?可以使用下面的方法:
import Java.io.*;
public class Input{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一行文字,可以有空格:");
String str = br.readLine();
System.out.println(str);
}
}
保存为Input.java文件后(注意这里,保存文件名必须与类名保持一致)编译并运行,就可以实现输入:
I LOVE THIS GAME
I LOVE THIS GAME
下面来分析这段代码,首先出现了一个
import java.io.*;
这里表明我们将要使用的这个类是放在java.io下面的某个包中的,*表示 所有内容,比如用到的BufferedReader和InputStreamReader都是java.io中的类。
?
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
上节课我们使用的获得输入的方法中定义了一个
Scanner s = new Scanner(System.in);
这里可能会让人觉得迷惑,我们知道“=”前面的是定义了一个引用变量br,后面呢new表示新建了一个BufferedReader对象,通过“=”把两者联系起来了,在上面一句中,我们定义了一个BufferedReader类型的对象,这个对象是以一个InputStreamReader 对象为基础建立的,而这个对象是以System.in为基础建立起来的,然后可以通过br来实现从键盘获取输入,System.in是我们从键盘获取输入的工具。