如图都没有给String赋值,为什么第一个可以不给String赋值,而另一个没有赋值就报错?到底什么时候适合给String赋值?
1 回答
已采纳
无动于衷
TA贡献12条经验 获得超6个赞
报错不是因为String xx没有赋值!而是你switch语句有些问题!
语法上是没有问题的,但这里有一个逻辑问题。
一开始你的String xx没有赋值,最后你System.out.println(xx),那么这之间你必须给xx赋值,否则会报错,对吧。
那么看一下你中间部分的switch语句。如果这里的today不是"一",是"八",因为你没有给today任何限制,虽然你设计时想的是一个星期只有七天。那么,并没有这种case,你写的 xx=? 一条都没有执行就会跳出switch语句。
那就导致xx没有赋值,System.out.println(xx)就会报错。
也就是说,java认为存在xx没有赋值的情况,逻辑上有错误,就会报错。
解决的办法是:
在最后一个break后面加上:default:xx="输入日期不合理";
让所有的情况,xx都会得到赋值。
这样就可以了。
添加回答
举报
0/150
提交
取消