请解释我在此示例中使用System.in.read()
方法,了解其他post。作为一个初学者,我发现当输入一个数字并在输出中得到不同的数字时,我不清楚,请澄清。
import java.io.IOException;
public class MainClass {
public static void main(String[] args) {
int inChar;
System.out.println("Enter a Character:");
try {
inChar = System.in.read();
System.out.print("You entered ");
System.out.println(inChar);
}
catch (IOException e){
System.out.println("Error reading from user");
}
}
答案 0 :(得分:0)
System.in.read()将值读取为二进制值;例如,读取“a”将导致值为“97” - 此处的映射可在https://www.asciitable.com/处获得。
为了在Java中获得此文本表示,您希望将其读作字符或字符串 - 字符是单个值,而字符串是一个接一个的字符组合。例如:
public class MainClass {
public static void main(String[] args) {
System.out.println("Enter a Character:");
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
System.out.print("You entered ");
System.out.println(input);
}
查看Scanner类以查看其他选项,您可以使用scanner.nextInt()来获取整数。