因为u的赋值是在swtich中的default里面的,而判断又是在switch外的,当你输入的java的时候执行的是case里面的内容,并不会执行default下的代码块,所以当switch结束后,u并没有赋值,还是默认值null,这个时候进行equals判断就会报错,你可以把u的判断放到default下面的,参考如下:
default:
System.out.println("本公司无该部门");
System.out.println("是否重新输入?Y/N");
u = sc.nectLine();
if (u.equals("Y")) {
continue;
} else {
System.out.println("输入结束");
break;
}
u为空值,出现了空指针异常