1 回答

TA貢獻(xiàn)12條經(jīng)驗(yàn) 獲得超6個(gè)贊
報(bào)錯(cuò)不是因?yàn)镾tring xx沒有賦值!而是你switch語句有些問題!
語法上是沒有問題的,但這里有一個(gè)邏輯問題。
一開始你的String xx沒有賦值,最后你System.out.println(xx),那么這之間你必須給xx賦值,否則會(huì)報(bào)錯(cuò),對(duì)吧。
那么看一下你中間部分的switch語句。如果這里的today不是"一",是"八",因?yàn)槟銢]有給today任何限制,雖然你設(shè)計(jì)時(shí)想的是一個(gè)星期只有七天。那么,并沒有這種case,你寫的 xx=? 一條都沒有執(zhí)行就會(huì)跳出switch語句。
那就導(dǎo)致xx沒有賦值,System.out.println(xx)就會(huì)報(bào)錯(cuò)。
也就是說,java認(rèn)為存在xx沒有賦值的情況,邏輯上有錯(cuò)誤,就會(huì)報(bào)錯(cuò)。
解決的辦法是:
????????在最后一個(gè)break后面加上:default:xx="輸入日期不合理";
????????讓所有的情況,xx都會(huì)得到賦值。
這樣就可以了。
添加回答
舉報(bào)