2016-04-11 10 views
1

でスキャナを交換してください:は、私は1つの愚かな質問がありBufferedReaderの

public Coordinates getShot() { 
    Scanner scanner = new Scanner(System.in); 
    int x,y; 
    do { 
     System.out.print("Enter Х: "); 
     x = Integer.parseInt(scanner.nextLine()); 
     System.out.print("Enter Y: "); 
     y = Integer.parseInt(scanner.nextLine()); 
     System.out.printf("\nYou entered: [%d,%d]\n", x, y); 
     if(!Coordinates.checkCoordinates(x, y)) 
      System.out.println("Error"); 
    } while(!Coordinates.checkCoordinates(x ,y)); 
    Coordinates shot = new Coordinates(x, y); 
    return shot; 
} 
+1

'BufferedReader'クラスのJavadocを探しているときに便利などんな方法を見つけましたか?これらは 'nextLine'や' Scanner'の他の機能とどう対比されますか? – Savior

答えて

0

Scanner vs. BufferedReader

スキャナはの内容からトークンを解析するために使用されて参照してください:私はこの方法ではBufferedReaderのでスキャナを置き換えることができますかBufferedReaderはストリームを読み取るだけで、特殊な解析は行いません。

実際、解析される文字のソースとして、BufferedReaderをスキャナに渡すことができます。

それは可能でしょうが、ここではBufferedReaderのを使用するためには興味がないだろう。

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 
//.... 
int x,y; 
System.out.print("Enter Х: "); 
x = Integer.parseInt(reader.readLine()); 
System.out.print("Enter Y: "); 
y = Integer.parseInt(reader.readLine()); 
System.out.printf("\nYou entered: [%d,%d]\n", x, y); 
+0

実際、このコードをtry/catchにラップするにはBRが必要です。しかし、私はそれを正しく行う方法を知らない。 – HadJower5

関連する問題