關於String賦值問題

如圖都沒有給String賦值,爲什麼第一個可以不給String賦值,而另一個沒有賦值就報錯?到底什麼時候適合給String賦值?


報錯不是因爲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都會得到賦值。

這樣就可以了。


發佈了7 篇原創文章 · 獲贊 1 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章