大神们看下这个代码错在哪里了,一直执行default语句

大神们看下这个代码错在哪里了,一直执行default语句

import java.util.Scanner;

public class WeekDemo{

  public static void main(String[] args){

    Scanner sc=new Scanner(System.in);

    System.out.println("请输入一个数:");

    String week=sc.next();

    week=week.toUpperCase();

    switch(week){

    case "monday":System.out.println("星期一");break;

    case "tuesday":System.out.println("星期二");break;

    case "wednesday":System.out.println("星期三");break;

    case "thursday":System.out.println("星期四");break;

    case "friday":System.out.println("星期五");break;

    case "saturday":System.out.println("星期六");break;

    case "sunday":System.out.println("星期日");break;

    default:System.out.println("该数字不合理");

    }

  }

}


正在回答

登陆购买课程后可参与讨论,去登陆

4回答

week=week.toUpperCase();表示把所有字母都大写,而case后面的都是小写的,即使输入monday,也会变为MONDAY,所以就找不到匹配的case,而且执行defalult语句了,改为week=week.toLowerCase();不论输入什么都变为小写字母。

祝学习愉快!

qq_径路_0 2018-03-23 17:09:15

把monday,tuesday等改成大写。week=week.toUpperCase();这个语句是转换成大写的意思

慕斯5333927 2018-03-13 20:20:19

你把输入进来的数字都改成大写了 case后面跟的条件都是小写的当然永远执行default里面的代码

精慕门0548516 2018-03-06 22:51:00

同学你是搞混了。。。

系统提示请输入一个数,所以你输入的是一个数字?

可是你应该输入monday Tuesday这些才能对应到case的结果啊,输入数字就算转成大小写也是没用的啊。。。

  • 提问者 慕函数3246142 #1
    数字只是那个输出语句没有改,但是后面的变量都是字符串类型的并不影响啊
    2018-03-07 00:02:41
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师