为什么这种方法不起作用?

时间:2011-04-13 14:17:22

标签: java java.util.scanner

这可能是一个非常简单的修正,我看不到,但我很确定你们可以帮助我,这部分代码应该读取用户输入的内容1-12(一年中的一个月)并向数组位置添加一个(即如果用户向数组输入3,那么它会将数组中的'space'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;               
    }
}

2 个答案:

答案 0 :(得分:9)

您必须在主要方法中调用inputMonths方法...;)

答案 1 :(得分:1)

在您的主要方法中,您没有调用方法inputMonths(int[] months, Scanner input)。因此,除了创建阵列和初始化扫描仪之外,您的程序不会执行任何操作。您必须在main方法中添加调用。

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