使用静态布尔方法

using static boolean method

我的代码:

import java.util.Scanner;

public class MonthMapper{
    static String month;
    static int month_num;

    public static boolean isMonthNumber (String str) { 
        month = str;
        month_num = Integer.parseInt(month);
        return (month_num >= 0 && month_num < 12); 
    } 

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter Month: ");
        month = sc.next();
        System.out.println (isMonthNumber (Integer.toString(month_num)));
    }
}

我必须编写一个静态 class 方法 boolean isMonthNumber(String str),它将字符串作为输入和 returns 布尔值。如果输入字符串表示 1 到 12 之间的整数值,方法 returns True,否则方法 returns 应该 return False.

目前由于某些原因,我的程序总是 return 为真,即使我输入的值大于 12。

您将 mounth_num 变量传递给方法,但 month 变量具有读取值。

替换为:

public static void main(String[] args){
  Scanner sc = new Scanner(System.in);
  System.out.print("Enter Month: ");
  System.out.println(isMonthNumber (sc.next()));
}