簡體   English   中英

如何在循環外使用BufferedReader從鍵盤獲取輸入?

[英]How to use BufferedReader outside the loop for taking input from keyboard?

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機制? 可以做什么?

它不是'nice'而是對我有用-我添加了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();
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM