本帖最后由 qq250144825 于 2015-4-5 23:44 编辑
今天自习把刚学的if、while、Scanner、方法调用,结合在一起敲了段代码,献丑了,望指点。- /*
- 一年有12个月,每个月份对应不同的季节
- 冬季:1,2,12
- 春季:3,4,5
- 夏季:6,7,8
- 秋季:9,10,11
- 根据输入月份的输出对应季节
- */
- import java.util.Scanner;
- class test
- {
- public static void main(String[] args)
- { //封装键盘录入
- Scanner sc = new Scanner(System.in);
- //提醒输入
- System.out.print("请输入正确月份(1-12):");
- //获取数据
- int month = sc.nextInt();
- System.out.println(getMonth(month)+"\n");
- panduan(month);
- }
- //对应不同的月份输出季节
- public static String getMonth(int month)
- {
- String str ;
- switch (month)
- {
- case 1:
- case 2:
- case 12:
- str = month+"月份为冬季";
- break;
- case 3:
- case 4:
- case 5:
- str = month+"月份为春季";
- break;
- case 6:
- case 7:
- case 8:
- str = month+"月份为夏季";
- break;
- case 9:
- case 10:
- case 11:
- str = month+"月份为秋季";
- break;
- default:
- str = "";
- break;
- }
- return str;
- }
- //循环输入数据查询(1到12的区间)
- public static void correct(int month)
- {
- Scanner sc = new Scanner(System.in);
- String str;
- while (month>=1 && month<=12)
- {
- System.out.print("请输入(退出请输入0):");
- month = sc.nextInt();
- str = getMonth(month);
- System.out.println(str+"\n");
- panduan(month);
- }
- }
- //循环输入数据查询(1到12以外的区间)
- public static void error(int month)
- {
- Scanner sc = new Scanner(System.in);
- String str;
- while (month<0 || month>12)
- {
- System.out.print("输入月份有误!!"+"\n"+"\n"+"请重新输入(退出请输入0):");
- month = sc.nextInt();
- str = getMonth(month);
- System.out.println(str+"\n");
- panduan(month);
- }
- }
- //判断输入数据
- public static void panduan(int month)
- { //如果在1到12的区间则调用correct
- if (month>=1 && month<=12)
- correct(month);
- //如果在1到12以外的区间,则调用error
- else if(month<0 || month>12)
- error(month);
- //如果等于0,则结束程序
- else
- System.out.println("程序结束。");
- System.exit(0);
- }
- }
复制代码
|