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;

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

首先你要判断输入的数是否有3个,否则b[2]就是越界访问
其次判断为空是if(b[2] == null)

你这是String 怎么用单引号A表示呢,单引号表示char,跟String不一样的,String用双引号, case "A" : 而且输入一个还是不是会数组越界错误么