CodeGym大学课程体系中包括讲师在线讲座的部分视频。赶快报名吧
“阿米戈,该你了。我现在要给你讲述有关键盘输入的内容。”
“我们已经使用 System.out 在屏幕上显示数据。为了接收输入内容,我们将使用 System.in。”
“听起来很容易。”
“但是 System.in 有一个缺点 – 它只允许我们从键盘读取字符代码。为了解决这个问题,能够一次性读取大块数据,我们将使用更复杂的结构:”
示例 1
从键盘输入字符串和数字
从键盘输入字符串和数字
InputStream inputStream = System.in;
Reader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String name = bufferedReader.readLine(); //从键盘读取字符串
String sAge = bufferedReader.readLine(); //从键盘读取字符串
int nAge = Integer.parseInt(sAge); //将字符串转换为数字。
示例 2
上一个示例的精简版本:
上一个示例的精简版本:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String name = reader.readLine();
String sAge = reader.readLine();
int nAge = Integer.parseInt(sAge);
示例 3
更为精简
更为精简
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();
“有任何问题吗?”
“嗯...我完全不明白。”
“要从键盘读取字符串,最方便的方法是使用 BufferedReader 对象。但是要做到这一点,你必须传入要从中读取数据的对象。在本例中,即为 System.in。”
“但是 System.in 与 BufferedReader 不兼容,因此我们使用另一个适配器 – 另一个 InputStreamReader 对象。”
“我想我现在明白了。这个 Scanner 类是什么呢?”
“Scanner 可能很方便,但不是很有用。事实上,当你继续学习和工作时,你会经常使用 BufferedReader 和 InputStreamReader,而极少用到 Scanner。它在我们的示例中很方便,但将来不会经常有用。因此,我们不会经常使用它。”
“似乎清楚了,但是我不确定我是否已明白了全部内容。”
GO TO FULL VERSION