扫描仪输入 = 新扫描仪(System.in)的实际含义是什么?
2022-09-04 19:19:02
Scanner input = new Scanner(System.in);
你能给我一个详细的解释,上面的代码正在逐步做什么吗?我真的不明白它是如何工作的,以及它如何链接到我以后能够做这个声明:
int i = input.nextInt()
Scanner input = new Scanner(System.in);
你能给我一个详细的解释,上面的代码正在逐步做什么吗?我真的不明白它是如何工作的,以及它如何链接到我以后能够做这个声明:
int i = input.nextInt()
好吧,让我们详细阐述一下有关 Scanner
类的一些简化说明。
它是一个标准的 Oracle 类,您可以通过调用 .import java.util.Scanner
因此,让我们做一个该类的基本示例:
class Scanner {
InputStream source;
Scanner(InputStream src) {
this.source = src;
}
int nextInt() {
int nextInteger;
//Scans the next token of the input as an int from the source.
return nextInteger;
}
}
现在,当您调用时,您可以创建该类的新对象(因此您创建一个新的“Scanner”),并将其存储在变量中。同时,您正在调用类的(所谓的)构造函数,参数为 。这意味着它将从程序的标准输入流中读取。Scanner input = new Scanner(System.in);
Scanner
input
System.in
现在,当您调用时,您可以从刚刚创建的对象(也记录在案)执行方法。但是正如我们所看到的,此方法返回一个整数,因此,如果我们要使用该整数,则必须像您一样将调用分配给变量:input.nextInt();
int i = input.nextInt();
Scanner input = new Scanner(System.in);
创建一个新实例,该实例指向作为参数传递的输入流。在您的情况下,蒸汽是标准输入流。Scanner
因此,一旦您的扫描程序实例指向它,您就可以扫描流并获取 ,并执行其他操作。integers
strings