3. public static void main(String[] args) {
4. Scanner scanner = new Scanner(System.in); 5. System.out.println(\请输入年份(例如:2012)\); 6. int year = scanner.nextInt();
7. System.out.println(\请输入月份(例如:1)\); 8. int month = scanner.nextInt(); 9. scanner.close();
10. } 11. }
步骤三:使用switch-case判断各个月份的天数
使用switch-case,根据规则判断用户所录入的月份的天数。代码如下所示:
1. import java.util.Scanner; 2.
3. public class DayOfMonth {
4. public static void main(String[] args) {
5. Scanner scanner = new Scanner(System.in); 6. System.out.println(\请输入年份(例如:2012)\); 7. int year = scanner.nextInt();
8. System.out.println(\请输入月份(例如:1)\); 9. int month = scanner.nextInt(); 10. scanner.close();
11. // 某月的天数 12. int days = 0; 13. switch (month) { 14. case 2:
15. // 判断是否为闰年,闰年29天,非闰年28天 16. if ((year % 4 == 0 && year % 100 != 0) ||
year % 400 == 0) {
17. days = 29;
18. } else {
19. days = 28; 20. } 21. break; 22. // 4,6,9,11为小月 23. case 4: 24. case 6: 25. case 9: 26. case 11:
27. days = 30; 28. break; 29. // 其余为大月 30. default:
31. days = 31; 32. }
33. System.out.println(year + \年\ + month + \月有\ + days
+ \天\);
34. } 35. }
在上述代码中,“case 2:”表示为2月,2月为平月。在该case块中,使用if-else语句判断当前年是否为闰年。当为闰年的时候2月为29天,否则,2月为28天。“case 4:”、“case 6:”、“case 9:”以及“case 11”分别表示为4月、6月、9月和11月,这些月为小月,天数为30天。另外,剩余的其它月份为大月,天数为31天,使用default分支中实现即可。
本案例的完整代码如下所示:
代码 8 输出三个int数中的最大值(提高题,选做)
用户从控制台接收三个整数,通过程序找出三个数中的最大值。控制台的交互效果如图-2所示。
图- 2
参考答案
实现此案例需要按照如下步骤进行。 步骤一:定义类及 main方法
首先定义一个名为 MaxOfThree的类,并在类中添加 main方法。代码如下所示:
1. public class MaxOfThree {
2. public static void main(String[] args) { 3.
4. } 5. }
步骤二:读取控制台的输入
在main方法中,实例化Scanner类,并调用Scanner类的nextInt方法接收用户从控制台输入的三个整数,使用完毕后将scanner对象关闭。代码如下所示:
1. import java.util.Scanner; 2.
3. public class MaxOfThree {
4. public static void main(String[] args) {
5. System.out.println(\请依次输入三个整数:a,b,c(以空格
隔开)\);
6. Scanner scanner = new Scanner(System.in);
7. int a = scanner.nextInt(); 8. int b = scanner.nextInt(); 9. int c = scanner.nextInt(); 10. scanner.close();
11. } 12. }
步骤三:计算最大值
使用三目运算符的嵌套,比较a、b、c三个整数的大小并输出结果。代码如下所示:
1. import java.util.Scanner; 2.
3. public class MaxOfThree {
4. public static void main(String[] args) {
5. System.out.println(\请依次输入三个整数:a,b,c(以空格
隔开)\);
6. Scanner scanner = new Scanner(System.in); 7. int a = scanner.nextInt(); 8. int b = scanner.nextInt(); 9. int c = scanner.nextInt(); 10. scanner.close();
11. int result=(a>b?a:b)
13. } 14. }
本案例的完整代码如下所示:
1. import java.util.Scanner; 2.
3. public class MaxOfThree {
4. public static void main(String[] args) {
5. System.out.println(\请依次输入三个整数:a,b,c(以空格
隔开)\);
6. Scanner scanner = new Scanner(System.in); 7. int a = scanner.nextInt(); 8. int b = scanner.nextInt(); 9. int c = scanner.nextInt(); 10. scanner.close();
11. int result=(a>b?a:b)
1 请描述while语句的执行流程
while语句的语法格式如下:
1. while(表达式) { 2. 语句块 3. }
参考答案
while语句,首先判断表达式的值是否为 true,如果为 true,则执行大括号中的语句块;然后再判断表达式的值是否为 true,依次重复下去,直到表达式的值等于false,则不再执行大括号中的语句块,循环结束。
2 指出下列程序运行后的情况
1. public static void main(String[] args) {