在main方法中调用静态方法时遇到问题

时间:2015-10-07 01:01:40

标签: java

我编写了一个静态方法,该方法采用单个int参数,即数月,并返回给定月份的天数。因此,参数1将返回31,因为1月份有31天,参数2将返回28,因为2月份有28天,依此类推。

然而,当我尝试在main方法中调用静态方法时,我收到一条错误消息,内容为void type not allowed here.有人可以帮我弄清楚我做错了什么吗?以下是我到目前为止的情况:

public class Days {
   public static void main(String[] args) {

      System.out.println(daysInMonth(1));

   }
   public static void daysInMonth(int month) {
           if (month==1||month==3||month==5||month==7||month==8||month==10||month==12)
         System.out.println("31");
      else if (month==4||month==6||month==9||month==11)
         System.out.println("30");
      else if (month==2)
         System.out.println("28");
   }
}

1 个答案:

答案 0 :(得分:4)

您的方法是void。您不能print void值。你可以改变

System.out.println(daysInMonth(1));

daysInMonth(1);

更改daysInMonth以返回int

public static int daysInMonth(int month) {
    if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8
            || month == 10 || month == 12)
        return 31;
    else if (month == 4 || month == 6 || month == 9 || month == 11)
        return 30;
    return 28;
}