m0_62267751 2022-10-27 14:29 采纳率: 85.7%
浏览 55
已结题

Java想判断输入的是两个还是三个,加switch判断b[2]。为什么会报错

A出报错:Type mismatch: cannot convert from char to String


           Scanner sc2 = new Scanner(System.in);
            String[] b=sc.nextLine().split(" ");
            switch(b[2]) {
            case 'A' :
                
                break;
  • 写回答

3条回答 默认 最新

  • 於黾 2022-10-27 14:41
    关注

    你这短短一句代码,好几个问题
    1.split得到的是个字符串数组,里面每一项都是字符串,那你的case里也要是字符串不能是字符,类型不匹配
    2.你要先判断length再去访问b[2],否则可能会越界
    3.你只想判断是2个还是3个,那就直接判断b.length即可,没必要管b[2]里到底是什么

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月4日
  • 已采纳回答 10月27日
  • 修改了问题 10月27日
  • 创建了问题 10月27日