Java 为什么这个方法行不通?

Java 为什么这个方法行不通?,java,java.util.scanner,Java,Java.util.scanner,这可能是一个非常简单的修正,我看不到,但我相信你们可以帮助我,这段代码应该读取用户在一年中某个月输入的1-12,并将其添加到数组位置,即如果用户在数组中输入3,则会将数组中的“空格”2增加1,以统计发生的数量。,这段代码只是在没有任何操作的情况下运行,并在不做任何操作的情况下使通常的构建成功 不管怎样,我希望有人能给我一些关于我哪里出了问题的建议 import java.util.Scanner; public class BirthMonth { public static void

这可能是一个非常简单的修正,我看不到,但我相信你们可以帮助我,这段代码应该读取用户在一年中某个月输入的1-12,并将其添加到数组位置,即如果用户在数组中输入3,则会将数组中的“空格”2增加1,以统计发生的数量。,这段代码只是在没有任何操作的情况下运行,并在不做任何操作的情况下使通常的构建成功

不管怎样,我希望有人能给我一些关于我哪里出了问题的建议

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;               
    }
}

您必须在主方法中调用inputMonths方法

在main方法中,您没有调用方法inputMonthsint[]个月,即Scanner input。因此,您的程序除了创建阵列和初始化扫描仪外,不会执行任何操作。您必须在main方法中添加调用

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

反问:java.util.Scanner是否仅用于家庭作业练习?有人真的用过它吗?…所以你确实意识到你需要在你的主方法中调用inputMonths,对吗?你的缩进在它被修复之前非常奇怪,你应该确保它保持一致,你的代码会更容易阅读。@skaffman:我的OOP老师在大三时只教我们java.util.Scanner。所有的课堂练习都是java.util.Scanner的变体。