Закрытая статическая функция не может использовать параметр, так как этот параметр используется в цикле while, так как решить эту проблему? - PullRequest
0 голосов
/ 26 марта 2019

Я создаю программу для поиска дня недели с помощью базового метода, поэтому программа получает данные о дне недели 1 января во введенном году, после чего программа проверит, является ли ввод истинным или ложным в соответствии с массивом weekDays, если это истинная программа.будет продолжаться, если оно ложно, программа получит повторный ввод, поэтому она работает правильно, но возникает проблема.

На самом деле, я должен использовать строку вне цикла while, потому что я буду использовать этострока в моей другой функции или что-то еще

boolean bool1 = false;
        while (!bool1){
            System.out.print("Enter weekday of 1 January (Monday, Tuesday, ...): ");
            String firstJanuary = scan2.nextLine();
            if (!firstJanuary.equals("")) {
                if (contains(weekdays, firstJanuary)) {
                    bool1 = true;
                }
            }
        }

private static String findWeekday(int year, int month, int day, String firstJanuary) {

Я ожидаю, что программа использует firstJanuary в качестве параметра, поэтому я вижу, что firstJanuary используется в цикле while, из-за этого программаошибка.Итак, как мне переписать тот же логический цикл while?

1 Ответ

0 голосов
/ 26 марта 2019

Попробуйте что-то вроде этого:

public youFunction(String firstJanuary) {
   while (firstJanuary.equals("") || !contains(weekdays, firstJanuary)){
      System.out.print("Enter weekday of 1 January (Monday, Tuesday, ...): ");
      firstJanuary = scan2.nextLine();
   }
}
...