Почему я получаю ошибку во время выполнения, когда у меня есть созданный файл? - PullRequest
0 голосов
/ 18 апреля 2020

Ниже приведен код, который я создал в текстовом редакторе GNU / Emacs для класса колледжа. Это класс для начинающих Java. Здесь моя проблема. Я не испытываю ошибок компиляции с этим кодом. Тем не менее, когда я пытаюсь выполнить его, я получаю следующую ошибку: Ошибка выполнения Описание

Я сохранил фактический текстовый файл в той же папке, класс и файл java в. Я не уверен, почему я до сих пор не могу скомпилировать. Пожалуйста, порекомендуйте. Должен ли я положить его в другую папку?

import java.util*; import java.io.*; import java.lang.object;

public class bowling7 {

    public static void main(String[] args) throws FileNotFoundException{

        Scanner bowling = new Scanner(new FileReader("bowling7.txt"));
        String[] TeamBlue = new String[10];
        String[] TeamWhite = new String[10];
        int[] TBScore = new int[10];
        int[] TWScore = new int[10];
        int TotalBlue = 0;
        int TotalWhite = 0;
        int counter = 0;
        String intro = "This program displays the team, members, and score of the winning team."
            System.out.println(intro);

        while(bowling.hasNextLine() == true){

            for(int counter = 0; counter < 11; ++counter){
                if (bowling.findInLine("Blue").equals("Blue")){

                    TeamBlue [counter] = bowling.next();
                    TBScore [counter] = bowling.nextInt();
                    TotalWhite = TotalWhite + TBScore [counter];

                }
                else {

                    TeamWhite [counter] = bowling.next();
                    TWScore [counter] = bowling.nextInt();
                    TotalBlue = TotalBlue + TWScore [counter];
                }
            }
        }

        if (TotalBlue>TotalWhite) {
            System.out.println("Team Blue");
            System.out.println(TeamBlue);
            System.out.println(TotalBlue);
            else {
                System.out.println("Team White");
                System.out.println(TeamWhite);
                System.out.println(TotalWhite);
            }
        }
    }
}

1 Ответ

1 голос
/ 18 апреля 2020

Сообщение об ошибке ясно: «bowling7.txt» не существует.

Java разрешает относительные пути к «текущему рабочему каталогу» процесса java, который обычно одинаков как рабочий каталог, в котором вы находитесь, когда выполняете команду 'java' для запуска этого класса.

Вы можете проверить, что это такое, с помощью следующей строки кода:

System.out.println(System.getProperty("user.dir"));

NB: отдельное уведомление; import java.lang.object; - ошибка времени компиляции, так как Object пишется с большой буквы; как и все классы в пакете java.lang, он импортируется по умолчанию; Вы должны просто полностью удалить эту часть.

NB2: Java Соглашение состоит в том, что ClassNamesAreLikeSo, fieldsAndVariablesAndParametersLikeSo; как говорится, когда в Риме ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...