扫描仪输入=新的Scanner(System.in)实际上是什么意思?

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 input = new Scanner(System.in);,将创建Scanner该类的新对象(因此,将创建新的“

Scanner”)并将其存储在变量中input。同时,您使用参数调用类的(所谓的)构造函数System.in。这意味着它将从程序的标准输入流中读取。

现在,当您调用时,您可以input.nextInt();从刚刚创建的对象(也已记录)中执行该方法。但是,正如我们所看到的,此方法返回一个整数,因此,如果要使用该整数,则必须像您一样将调用分配给变量:

int i = input.nextInt();

以上是 扫描仪输入=新的Scanner(System.in)实际上是什么意思? 的全部内容, 来源链接: utcz.com/qa/417837.html

回到顶部