在JavaSE里,特别是对于刚开始学习Java的初学者,我们经常都需要从控制台里读取键盘的输入信息,从而达到一些交互效果。
很多人都会第一时间想到“System.in.read()”这个函数,但这个函数有个很不好的现象,就是返回的信息必须是char,往往需要做转义,还是挺麻烦的。
也有人会用IO流方式,但我个人比较推荐以下方式:
public static void main(String[] args) throws IOException {
System.out.println("请输入内容:");
Scanner scanner = new Scanner(System.in);
String info = scanner.nextLine();
System.out.println("输入的内容为:" + info);
}
运行结果如下:
请输入内容:
张三今年15岁
输入的内容为:张三今年15岁
后面我们就给这段代码来点变形。
上面那个代码,当你输入信息后,程序就会运行结束了。为了不能让它马上结束,我们可以在外面套一个循环。
public static void main(String[] args) throws IOException {
while (true) {
System.out.println("请输入内容:");
Scanner scanner = new Scanner(System.in);
String info = scanner.nextLine();
System.out.println("输入的内容为:" + info);
}
}
运行后:
请输入内容:
你好
输入的内容为:你好
请输入内容:
你是谁?
输入的内容为:你是谁?
请输入内容:
你会发现程序会一直在运行,除非自己手动停止程序。
最后,我们也对程序做一次变形,让程序接受到指定的指令后,程序就自动终止。
public static void main(String[] args) throws IOException {
while (true) {
System.out.println("请输入内容:");
Scanner scanner = new Scanner(System.in);
String info = scanner.nextLine();
if (info.equals("程序STOP")) {
break;
}
System.out.println("输入的内容为:" + info);
}
}
运行后:
请输入内容:
你好
输入的内容为:你好
请输入内容:
程序STOP