当前位置: 首页 > 知识库问答 >
问题:

区分Scanner类在Java中提供的Scanner、System.in和next()方法的工作方式?

马高谊
2023-03-14
  Scanner scanner = new Scanner(System.in);

    System.out.println("enter number :");
    int number = scanner.nextInt();
    System.out.println("Number is " + number);
Scanner scanner = new Scanner(System.in);  

扫描器是我们创建的对象的标识符。

使用new,我们创建对象的一个实例。

system.in帮助我们从控制台(键盘)获取输入

system.out.println(“Enter number:”);

打印“输入数字:”。

int number=scanner.nextint();

从控制台(键盘)读取给System.in的输入,并将输入解析(转换)为int并存储在变量Number中。

System.out.println(“number is”+number);

打印语句“number is”+number(输入存储在变量number中));

这是我的模糊认识,我认为,我不确定我的知识。

扫描器读取,system.in读取,nextInt()读取,everything读取?我无法分辨这些的工作原理

共有1个答案

轩辕弘雅
2023-03-14

System.In是一个InputStream,它(默认情况下)从控制台提供用户输入。您可以使用read直接从中读取:

int someByte = System.in.read();

请注意,这将读取一个无符号字节(Java没有用于无符号字节的类型,因此类型为int)。例如,如果我在控制台中输入了1,则上面将49存储到someByte,因为49是字符1编码的第一个字节。

如果您希望somebyte改为1,那么使用system.in.read显然没有多大帮助,是吗?我们不想只读取字节。我们希望读取字节,并使用特定的编码将这些字节转换为字符,然后将字符串解析为数字。这就是scanner的功能。

扫描器可以获取输入流,并根据需要从中读取字节,使用默认编码将其理解为字符,然后将字符块分组为令牌。扫描器读取内容的一种方法是调用NextIntnextint所做的是:读取字节直到找到完整的令牌,并将其解析为整数。

简而言之,system.In给出了原始字节,scanner给出了经过解析或其他方式的令牌。希望这回答了你的第一和第三个问题。

 类似资料:
  • 这是来自Java的Scanner next()方法的解释: 此方法可能会在等待输入扫描时阻塞,即使先前调用hasNext()返回true。 如果调用了hasNext(),这个方法如何等待用户输入?如果我们调用hasNext()并返回true,我们知道有下一个标记,那么next()方法是如何以及为什么这样做的?

  • 问题内容: 和之间的主要区别是什么? 我的主要目标是使用可以“连接” 到任何源(例如文件)的a读取所有文本。 我应该选择哪一个?为什么? 问题答案: 我总是喜欢使用读取输入,然后解析字符串。 使用将仅返回分隔符之前的内容(默认为空白)。返回当前行后自动向下移动扫描仪。 用于解析数据的有用工具将是。 有关Scanner类或String类的更多信息,请参考以下链接。 扫描器:http : //docs

  • 和之间的主要区别是什么? 我的主要目标是使用可以“连接”到任何源(例如文件)的读取所有文本。 我应该选择哪一个,为什么?

  • 它被声明为final,所以不能更改,正如Oracle源代码中提到的,他们说“in”是“标准”输入流。此流已经打开并准备提供输入数据。通常,此流对应于键盘输入或主机环境或用户指定的另一输入源。 这到底是什么意思?. 当我编写以下代码时:

  • 问题内容: 使用导致 线程“主”中的异常java.util.NoSuchElementException 当我尝试调试时说 变量信息不可用,源代码编译时没有-g选项。 并显示以下代码 我的使用此行的方法之一: 问题答案: 您即将关闭(全局变量)。 请 不要这样做。到处都有 保证将是(d)。一旦它的(d)你可以从它再次不读(或你得到你提到的)。另外,您可以使用调试符号进行编译(或使用IDE的内置调试

  • 一直以来,我们都使用 System.out.println() 方法向屏幕打印内容,那么如何接收输入的内容呢?本小节所学习的 Scanner 类就可以实现对输入内容的接收。在本小节,我们将学习 Scanner 类的定义,如何使用 Scanner 类以及其常用方法,在学完这些基础知识后,我们会在最后学习一个比较有趣的实例程序。 1. 定义 Scanner 是一个简单的文本扫描器,可以解析基础数据类型