2013-05-31 64 views
1

我想运行一个简单的代码,其中前几行是显示一个随机值

 **System.out.println("Enter the number of nodes\n"); 
    BufferedReader bufferRead = new BufferedReader(new InputStreamReader(System.in)); 
    int n = bufferRead.read(); 
    System.out.println(n);** 

的这部分代码是在try-catch对之间。 我只需显示节点数量,但不是显示n的值,而是显示48之前的值。例如,如果n的输入为1,则输出应为“1”,但显示“ 48" 。如果输入是2,则显示49等等。

请帮助我,并用你的知识给我启发。谢谢。

回答

1

48对1的ASCII码......这样就可以显示正'0 '‘转换’ASCII码到实数

+0

非常感谢。感谢你的帮助。我可以简单地使用扫描仪来显示int,而不是使用Bufferedreader :) – Ellipsis

1

它显示您得到的数字的ASCII值(您正在读取一个字符,然后将其转换为int)。你应该使用

Scanner scanner = new Scanner(System.in); 
int n = scanner.nextInt(); 

读取数字看一看到扫描器类,它是在这种情况下非常有用:http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html

+0

感谢您的帮助..真的很感激它显示ASCII值将它转换为一个字符。我理解的磨片我错了..Í可以简单地使用扫描仪来读取一个整数,而不是BufferedReader ..我复杂的东西:) – Ellipsis

1

,如果你想打印字符本身

char n = (char)bufferRead.read(); 
+0

感谢您的帮助..真的很感激它..我想我可以简单地使用扫描仪来显示int。 :) – Ellipsis