使用静态布尔方法

时间:2015-09-18 17:59:27

标签: java methods static boolean

我的代码:

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。

1 个答案:

答案 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()));
}