黑马程序员技术交流社区
标题:
switch、case语句的优化
[打印本页]
作者:
liuchenguangqnm
时间:
2016-5-7 23:40
标题:
switch、case语句的优化
题目:设计一个程序,键盘输入月份,控制条输出季节.3,4,5春季/6,7,8夏季/9,10,11秋季/12,1,2冬季
这道题最简单的方式是用if else或者switch(month) case month:实现的,但是判断过多,效率太低
可以尝试用数组来完成这道题目,以空间换时间
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
//新建一个月份字符串数组:
String str[] = {"冬季", "冬季", "春季", "春季", "春季", "夏季", "夏季", "夏季", "秋季", "秋季", "秋季", "冬季"};
Scanner sc = new Scanner(System.in);
System.out.println("请输入月份数:");
//构建输入扫描器
int month = 0;//初始化月份
//循环判断当前输入月份是否正确
while (true) {
String s = sc.nextLine();
try {
month = Integer.parseInt(s);
if (!(month > 12 || month < 1)) {
break;
} else {//如果输入不合法就提示
throw new ArrayIndexOutOfBoundsException();
}
} catch (Exception ex1) {
System.out.println("您输入的月份不符合要求,请再来一次:");
}
}
//最后输出
System.out.println(month + "月份为" + str[month - 1]);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2