Java:使用扫描仪在方法中添加项目

问题描述 投票:0回答:1

我在找到正确的顺序时遇到问题,因此我的程序可以正常工作。这可能很容易,但是我对编程很陌生,所以希望有人可以帮助我!

从文件中获取需要逐行读取的输入。我有4个项目需要阅读并付诸实践。我使用扫描仪逐行读取文件,然后逐项读取文件。但是,当我想调用项目时,该程序什么也不做。我不确定我缺少什么。

输入示例:

黑色32移动c 4

黑色0移动d 4

白色4198移动c 3

    void start() {

Scanner fileScanner = UIAuxiliaryMethods.askUserForInput().getScanner();    

    while (fileScanner.hasNext()) { 
        fileScanner.next();

        String inputPlayer = fileScanner.next();

        int thinkingTime = fileScanner.nextInt();

        String inputMoveOrPass = fileScanner.next();

        char inputHorizontalCoordinate = fileScanner.next().charAt(0);
        int x = inputHorizontalCoordinate - 97;

        int inputVerticalCoordinate = fileScanner.nextInt();
        int y = inputVerticalCoordinate - 1;



        ui.wait(thinkingTime);

        if (inputPlayer.equals("white")) {
            ui.place(x, y, ui.WHITE);
            }
        else if (inputPlayer.equals("black")) {
            ui.place(x, y, ui.BLACK);
        }

        ui.showChanges();



        }

    }
java java.util.scanner
1个回答
0
投票

您似乎在开始读取输入之前从文件的每一行读取了String,这似乎与您要执行的操作不一致。删除或注释掉对fileScanner.next()的第一个调用可能会达到目的。即

Scanner fileScanner = UIAuxiliaryMethods.askUserForInput().getScanner();

while (fileScanner.hasNext()) {
    // fileScanner.next();

    String inputPlayer = fileScanner.next();

    int thinkingTime = fileScanner.nextInt();
© www.soinside.com 2019 - 2024. All rights reserved.