[英]why does taking input through bufferedreader throw a garbage value in my system?
public static void main(String[] args) throws Exception {
BufferedReader inp = new BufferedReader(new InputStreamReader(System.in));
int a = inp.read();
System.out.println(a);
inp.close();
}
安慰:
10
但結果輸出49
用作:
Integer.parseInt(br.readLine());
BufferedReader#read
從流中讀取單個字符[0到65535(0x00-0xffff)],因此無法從流中讀取單個整數。
需要在BufferedReader
的構造函數中指定InputStreamReader
。 InputStreamReader
將字節流轉換為字符流
BufferedReader inp = new BufferedReader(new InputStreamReader(System.in));
String a = inp.readLine();
System.out.println(a);
inp.close();
read僅讀取單個字符並返回ascii值。 使用readLine()讀取整行並將其轉換為Integer。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.