BufferedReaderを使用する場合、どのように文字列をintに変換しますか?私が覚えている限り、それは以下のようなものです:
_System.out.println("input a number");
int n=Integer.parseInt(br.readLine(System.in));
_
しかし、何らかの理由で機能しません。
エラーメッセージは言う:
readLine(Java.io.InputStream)
に適したメソッドが見つかりません
また、_br.readLine
_は適用されません
InputStreamReader
は、BufferedReader
のコンストラクターで指定する必要があります。 InputStreamReader
は、バイトストリームを文字ストリームに変換します。他の人が言及したように、IOExceptionやNumberFormatExceptionなど、このコードからスローされる可能性のある例外を認識する必要があります。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("input a number");
int n = Integer.parseInt(br.readLine());
BufferedReader
を使用する場合は、スローする例外に注意する必要があります。また、提供するNumberFormatException
をString
に変換できない場合、Integer.parseInt(String s)
メソッドはInteger
をスローする場合があります。
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while ((thisLine = br.readLine()) != null) {
System.out.println(thisLine);
Integer parsed = Integer.parseInt(thisLine);
System.out.println("Parsed integer = " + parsed);
}
} catch (IOException e) {
System.err.println("Error: " + e);
} catch (NumberFormatException e) {
System.err.println("Invalid number");
}
これを試して
BufferedReader br = new BufferedReader(System.in);
String a=br.readLine()
Integer x = Integer.valueOf(a);
System.out.println(x);//integer value
この方法を試してください
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String input = reader.readLine();
int n=Integer.parseInt(input);
これを試して:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("input a number");
try{
int n = Integer.parseInt(br.readLine());
} catch (IOException e) {e.printStackTrace();}