web-dev-qa-db-ja.com

BufferedReaderを使用するときにJava変換文字列をintに

BufferedReaderを使用する場合、どのように文字列をintに変換しますか?私が覚えている限り、それは以下のようなものです:

_System.out.println("input a number");

int n=Integer.parseInt(br.readLine(System.in));
_

しかし、何らかの理由で機能しません。

エラーメッセージは言う:

readLine(Java.io.InputStream)に適したメソッドが見つかりません

また、_br.readLine_は適用されません

6
aqua

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());
16
Kevin Bowersox

BufferedReaderを使用する場合は、スローする例外に注意する必要があります。また、提供するNumberFormatExceptionStringに変換できない場合、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");
 }
1

これを試して

BufferedReader br = new BufferedReader(System.in);
String a=br.readLine()
Integer x = Integer.valueOf(a);
System.out.println(x);//integer value
1
KhAn SaAb

この方法を試してください

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
 String input = reader.readLine();
 int n=Integer.parseInt(input);
1

これを試して:

  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();}
0
drew moore