我的代码:
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)));
}
}
我必须编写一个静态类方法boolean isMonthNumber(String str)
,它将String作为输入并返回布尔值。如果输入字符串表示介于1和12之间的整数值,则该方法返回True
,否则返回的方法应返回False
。
目前由于某种原因,即使我输入的值大于12,我的程序也会返回true。
答案 0 :(得分:2)
您将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()));
}