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

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日

悬赏问题

  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化