1

我对 Java 很陌生,所以我想创建一个简单的程序,它会要求我输入一些随机值,然后打印出来。问题是当我输入数字 1 时,输出为 51,输入 3-输出 51,输入 77-输出 55​​。这有什么问题?代码如下所示:

public static void main(String[] args) throws IOException
{
    System.out.print("Input:");
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    int val=br.read();
    System.out.print("Output:");
    System.out.println(val);
}
4

2 回答 2

3

您只需读取一个字符并打印 unicode :)

尝试类似的东西

String s=br.readLine();
System.out.print("Output:");
System.out.println("Input " + s);
int val = Integer.parseInt(s):
System.out.println("As integer: " + val);

如果您只想读取单个字符:

System.out.print("Input:");
Reader r = new new InputStreamReader(System.in);
int val = r.read();
System.out.print("Output:");
System.out.println((char) val);

如果要读取单个数字:

System.out.print("Input:");
Reader r = new new InputStreamReader(System.in);
int val = r.read() - '0';
System.out.print("Output:");
if (val < 0 || val > 9) {
  System.out.println("error, digit expected");
} else {
  System.out.println(val);
}
于 2013-11-10T21:55:30.763 回答
1

你也可以使用 BufferedReader 作为

public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new     InputStreamReader(System.in));
String input = reader.readLine();
input number = Integer.parseInt(input);
System.out.println(input);
}
于 2016-10-24T06:13:37.353 回答