java判断平闰年
如果妳现在在面试,如果妳现在在考试。如果妳很急忘记了怎么写,为了节省您 的宝贵时间,我把核心放在第一条这里,请查阅。 if (year % 100 == 0) { if (year % 400 == 0) { return true; } } else { if (year % 4 == 0) { return true; } } return false;
接下来,如果获得一个年份的数字呢?这是我们今天的重头戏。我们需要做许多判断,这里,我们分很多步骤来详述。
获取输入参数,这里用Scanner类的非静态nextInt()方法。 Scanner sc = new Scanner(System.in); int number = sc.nextInt();
但是,如果输入的是字母那不就麻烦了?所以,我们还需要加以判断。 这里就不能直接从scanner里面获取数字了,我们要获取的是字符串, Scanner sc = new Scanner(System.in); String str = sc.nextLine(); 然后用正则表达式判断一下。 if (!str.matches("^-?[1-9][0-9]*$")) { System.out.println("Not an integer number! Input again:"); }
如果输入的数字很长呢?那样我也不喜欢怎么办? 我把ta们限制在-9999到10000之间,怎么样?就这样办吧~ private static boolean isOutOfRange(int year) { return year > 9999 || year < -10000; }
最后,我们写一个main方法测试一下,看看是否是咱预期的效果。 System.out.println("Please input a year as an integer number:"); int year = scannerYear(); System.out.print("The year of " + year + " is "); System.out.print(isLeapYear(year) ? "" : "not "); System.out.println("a leap year.");
好了,可以了。我把完整代码截图给大家: ^_^