gpt4 book ai didi

java - Scanner.next() 和 System.in.read() 有什么区别?

转载 作者:行者123 更新时间:2023-11-30 10:58:20 27 4
gpt4 key购买 nike

我看到很多人使用 java.lang.Scanner。

Scanner sc = new Scanner(System.in);
int i = sc.nextInt();

但是,我在某本书中提到了代码:

class Guess {
public static void main(String args[])
throws java.io.IOException {
char ch, answer = 'K';
System.out.println("I'm thinking of a letter between A and Z.");
System.out.print("Can you guess it: ");
ch = (char) System.in.read(); // read a char from the keyboard
if(ch == answer) System.out.println("** Right **");
}
}

我只是想知道使用第一个示例和使用 System.in.read(); 之间的区别是什么?

谢谢!当你想在你的程序中添加用户输入时,你还需要抛出 java.io.IOException 吗?它有什么作用?

最佳答案

读取一个整数

int i = sc.nextInt();

例如如果你输入

1234

它将返回 int1234

这会为您按下的每个键读取一个字符

char ch = (char) System.in.read();
char ch2 = (char) System.in.read();
char ch3 = (char) System.in.read();
char ch4 = (char) System.in.read();
char ch4 = (char) System.in.read();

如果你输入

1234<enter>

会有

ch == '1'; // == 49
ch2 == '2'; // == 50
ch3 == '3'; // == 51
ch4 == '4'; // == 52
ch5 == '\n'; // == 10

关于java - Scanner.next() 和 System.in.read() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32294644/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com