Java-Convert使用BufferedReader时将String转换为int

时间:2013-05-22 09:55:02

标签: java string bufferedreader

使用BufferedReader时如何将String转换为int? 据我所知,它的内容如下:

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

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

但由于某种原因,它不起作用。

错误消息显示:

找不到readLine(java.io.InputStream)

的合适方法

它还说br.readLine不适用

6 个答案:

答案 0 :(得分:16)

需要在InputStreamReader的构造函数中指定BufferedReaderInputStreamReader将字节流转换为字符流。正如其他人所提到的那样,可以认识到可以从这段代码抛出的异常,例如IOException和NumberFormatException。

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

答案 1 :(得分:1)

使用BufferedReader时,您必须处理它可能引发的异常。此外,如果您提供的Integer.parseInt(String s)无法转换为NumberFormatException,则String方法可能会抛出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");
 }

答案 2 :(得分:1)

试试这个

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

答案 3 :(得分:1)

试试这种方式

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

答案 4 :(得分:0)

试试这个:

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

答案 5 :(得分:-1)

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