Java 用BufferedReader替换扫描仪

Java 用BufferedReader替换扫描仪,java,Java,我有一个愚蠢的问题:在这种方法中,如何用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.pr

我有一个愚蠢的问题:在这种方法中,如何用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;
}

Scanner用于解析来自流内容的令牌,而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);

Scanner用于解析来自流内容的令牌,而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);

在搜索
BufferedReader
类的javadoc时,您发现了哪些有用的方法?这些与
nextLine
Scanner
的其他功能相比如何?在搜索
BufferedReader
类的javadoc时,您发现了哪些有用的方法?这些与
nextLine
Scanner
的其他功能相比如何?实际上,我需要一个BR将此代码包装到try/catch中。但我不知道如何正确执行。实际上,我需要一个BR将此代码包装到try/catch中。但我不知道如何正确地做。