почему этот метод не будет работать?

#java #java.util.scanner

#java #java.util.scanner

Вопрос:

вероятно, это очень простое исправление, которое я не вижу, но я почти уверен, что вы, ребята, можете мне помочь, предполагается, что этот раздел кода считывает то, что пользователь вводит 1-12 (для месяца в году), и добавляет единицу в расположение массива (т. Е. если пользователь вводит 3 в массив, то это увеличит ‘пробел’ 2 в массиве на единицу, чтобы подсчитать количество вхождений, так сказать.), этот код просто выполняется без каких-либо действий и выдает обычную сборку успешной после бездействия.

в любом случае, я надеялся, что кто-нибудь сможет дать мне несколько указаний на то, где я ошибаюсь.

 import java.util.Scanner;
public class BirthMonth {

    public static void main(String[] args){                               
        Scanner input = new Scanner(System.in); 
        int months [] = new int [12];    
    }

    public static int[] inputMonths(int[] months, Scanner input){

        System.out.println("please enter the first month with a birthday:");
        int month = input.nextInt();
        months[month - 1]   ;
        //arr[i] = Input.nextInt();

        while (month != -1){
            System.out.println("please enter the next month to be tallied");
            month = input.nextInt();
            months[month - 1]   ;
        }
        return months;               
    }
}
  

Комментарии:

1. Риторический вопрос: java.util.Scanner используется только в домашних упражнениях? Кто-нибудь когда-нибудь использовал его для чего-то реального?

2. …Итак, вы понимаете, что вам нужно вызвать inputMonths в вашем основном методе, правильно?

3. Ваш отступ был довольно странным до того, как его исправили, вы должны убедиться, что вы поддерживаете его согласованность, ваш код будет намного легче читать.

4. @skaffman: Мой преподаватель ООП на первом курсе преподавал нам только java.util. Сканер. Все упражнения класса были вариацией java.util. Сканер.

Ответ №1:

Вы должны вызвать свой inputMonths метод в вашем основном методе … 😉

Ответ №2:

В вашем основном методе вы не вызываете свой метод inputMonths(int[] months, Scanner input) . Итак, ваша программа не будет делать ничего, кроме создания массива и инициализации сканера. Вы должны добавить вызов в свой основной метод.

 public static void main(String[] args){                               
        Scanner input = new Scanner(System.in); 
        int months [] = new int [12];   
        inputMonths(months, input) 
    }