Java Convert String to int when using BufferedReader

How to convert String to int when using BufferedReader? as far as I remember, this is something like below:

System.out.println("input a number"); int n=Integer.parseInt(br.readLine(System.in)); 

but for some reason its not working.

the error message says:

No suitable method found for readLine(java.io.InputStream)

he also says br.readLine not applicable

+4
source share
6 answers

In the constructor for BufferedReader you must specify an InputStreamReader . InputStreamReader turns byte streams into character streams. As mentioned above, you should consider exceptions that can be selected from this piece of code, such as an IOException and a NumberFormatException.

 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("input a number"); int n = Integer.parseInt(br.readLine()); 
+13
source

When using BufferedReader you need to take care of the exceptions that it can throw. In addition, the Integer.parseInt(String s) method may raise a NumberFormatException if the String you provide cannot be converted to 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
source

try it

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

try this way

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

Try the following:

  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
source
 DataInputStream br=new DataInputStream(System.in); System.out.println("input a number"); int n=Integer.parseInt(br.readLine(System.in)); 
-1
source

Source: https://habr.com/ru/post/1482124/


All Articles