Scanner input = new Scanner(System.in);
你能给我详细解释一下上面的代码在做什么吗?我真的不明白它是如何工作的,以及它如何链接到我以后能够做到这一点:
int i = input.nextInt()
原文由 The Man 发布,翻译遵循 CC BY-SA 4.0 许可协议
Scanner input = new Scanner(System.in);
你能给我详细解释一下上面的代码在做什么吗?我真的不明白它是如何工作的,以及它如何链接到我以后能够做到这一点:
int i = input.nextInt()
原文由 The Man 发布,翻译遵循 CC BY-SA 4.0 许可协议
Scanner input = new Scanner(System.in);
创建一个 新 的 Scanner
实例,它指向作为参数传递的 _输入流_。在您的情况下,蒸汽是 Standard input stream 。
因此,一旦您的扫描器实例指向它,您就可以 扫描 流并获取 integers
, strings
并执行其他操作。
原文由 TheLostMind 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
好吧,让我们对
Scanner
类进行一些简化的解释。它是一个标准的 Oracle 类,您可以通过调用
import java.util.Scanner
来使用它。所以让我们做一个类的基本例子:
现在,当您调用
Scanner input = new Scanner(System.in);
您创建Scanner
类的新对象(因此您创建一个新的“扫描仪”)并将其存储在变量中input
.同时,您正在调用类的(所谓的) 构造函数,参数为System.in
。这意味着它将从程序的标准输入流中读取。现在,当您调用
input.nextInt();
时,您从刚刚创建的对象执行该方法(也 记录在案)。但是正如我们看到的,这个方法返回一个整数,所以如果我们想使用这个整数,我们必须像你一样将调用分配给一个变量: