1
InputStreamReader inp= new InputStreamReader(System.in);
do  
{  
  BufferedReader br = new BufferedReader(inp);  
  System.out.println("Enter Roll number : ");  
  int rno= Integer.parseInt(br.readLine());   

  System.out.println("Enter name: ");  
  String name= br.readLine();

  System.out.println("Continue y/n: ");  
  char ans=(char)br.read();  
} while(ans=='y');    

BufferedReaderループの外に書くにはどうすればよいですか? 外で使用すると、次の例外が表示されます。

java.lang.numberformatexception for input string at            
    java.lang.Integer.parseInt(Integer.java:468)

をフラッシュするメカニズムはありますBufferedReaderか? 何ができる??

4

1 に答える 1

0

それは「いい」ことではありませんが、私にとってはうまくいきました-br.readLine()を追加しました:

public static void main(String args[]) throws IOException {
    BufferedReader br = null;
    try {
        InputStreamReader inp = new InputStreamReader(System.in);
        br = new BufferedReader(inp);
        char ans;
        do {
            System.out.println("Enter Roll number : ");
            int rno = Integer.parseInt(br.readLine());

            System.out.println("Enter name: ");
            String name = br.readLine();

            System.out.println("Continue y/n: ");
            ans = (char) br.read();
            br.readLine();
        } while (ans == 'y');
    } finally {
        if (br != null) {
            br.close();
        }
    }
}
于 2012-06-03T07:24:59.283 に答える