A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

为什么我输入错误的月份 还能给出星期几呢 输入错误提示的地方是不是放的不对
比如输入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;
        }
}

2 个回复

正序浏览
还没学到哪里  还不会啊
回复 使用道具 举报
抛出异常啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马