黑马程序员技术交流社区

标题: 关于输入错误的提示应该放什么地方 [打印本页]

作者: Yoyoqiu    时间: 2016-4-14 22:53
标题: 关于输入错误的提示应该放什么地方
为什么我输入错误的月份 还能给出星期几呢 输入错误提示的地方是不是放的不对
比如输入22月  我希望就提示一个 输入月份错误后就结束  为什么还会输出星期

//需求:键盘录入一个年月日,判断输出是周几。使用方法
import java.util.Scanner;
class Test_003 {
        public static void main(String[] args) {
                Scanner sc = new Scanner (System.in);
                System.out.println("请输入月份:");
                int x = sc.nextInt();
                System.out.println("请输入日期:");
                int y = sc.nextInt();
                System.out.println("2016年"+x+"月"+y+"日是:");
                System.out.println("星期"+week(x,y));

        }//输入2016年任何一个月份日期 找到是星期几  已知 2016年1月1日是星期五
          //方法  返回值是char 参数列表 int 月 int 日
                  //使用周循环
        public static char week(int month, int day){
              char c = ' ';
        if (day<1||day>32) {
                          System.out.println("请输入正确的日期");
                          
                }
                  switch (month) {
                          default:
                   System.out.println("请输入正确的月份");
                   break;  // 这里我想能最直接结束最好 但是我换return没用
                  case 1:
                      month = (month-1)*31;  // 一月 转换为0天
                   break;
                  case 2:
                      month = (month-1)*31;  // 二月 等于日加上一月的31天
                   break;
                  case 3:
                      month = (month-1)*31-2;// 31+29  
                   break;
                  case 4:
                      month = (month-1)*31-2;// 31+29+31
                   break;
          case 5:
                      month = (month-1)*31-3;
                   break;
                  case 6:
                      month = (month-1)*31-3;
                   break;
                   case 7:
                      month = (month-1)*31-4;
                   break;
                  case 8:
                      month = (month-1)*31-4;
                   break;
                  case 9:
                      month = (month-1)*31-4;
                   break;
                  case 10:
                      month = (month-1)*31-5;
                   break;
          case 11:
                      month = (month-1)*31-5;
                   break;
                  case 12:
                      month = (month-1)*31-6;
                   break;
                  
                  }
                  
                  int a = month + day;
                  int b = a%7;
                  switch (b) {
                  case 1:
                    c = '五';
                  break;
                   case 2:
                    c = '六';
                  break;
                  case 3:
                    c = '日';
                  break;
                  case 4:
                    c = '一';
                  break;
                  case 5:
                    c = '二';
                  break;
                  case 6:
                    c = '三';
                  break;
                  case 7:
                    c = '四';
                  break;
                  }
               
            return c;
        }
}


作者: qing31657552    时间: 2016-4-14 23:25
抛出异常啊
作者: Yoyoqiu    时间: 2016-4-15 17:46
还没学到哪里  还不会啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2