[問題] 關於if運算的問題

看板java作者 (葉慈)時間12年前 (2013/03/12 22:21), 編輯推噓1(106)
留言7則, 6人參與, 最新討論串1/2 (看更多)
小弟最近在寫一個觀查某個檔案夾中有甚麼檔案名,然後挑出特定附檔名, 然後print出 檔案格式大概像這樣 // i是檔案的個數 ori是檔案夾中的檔案名 是字串陣列 for (int q = 0; q<i;q++) { String A = ori [q] if (A.endwith(".DRW")) { String B = A String C = "" } if (A.endwith(".prt")) { String B = "" String C = A } else { String B = "無此檔案" String C = "無此檔案" } System.out.println(B+C); } 這樣compiler會跟我說沒有指定B 和C的值 但是如果我在每個if迴圈中 直接印出 這樣就可以執行 請問這是為什麼呢? 是否跟java運算到布林值為false 的時候就不會繼續運行下去的性質有關呢 第一次問問題,不知道問題描述的清不清楚,先感謝大家的回答。 } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.254.16.126

03/12 22:23, , 1F
你應該先看看書本,看看關於 variable scope 的章節
03/12 22:23, 1F

03/12 22:26, , 2F
也稍微看一下其他人怎麼縮排code的..
03/12 22:26, 2F

03/12 22:57, , 3F
B和C要宣告在if-else的block外,同1F所講的問題
03/12 22:57, 3F

03/12 23:15, , 4F
另外,不要用A,B,C當變數名稱。取個有意義的名字,而且
03/12 23:15, 4F

03/12 23:17, , 5F
用小寫作為變數開頭
03/12 23:17, 5F

03/13 09:36, , 6F
其實看看文件就知道了~只是不想看~想照自己的想法寫而已
03/13 09:36, 6F

03/13 23:07, , 7F
感謝大家的指導,請問寫在block外面是指說寫在{}號的外面
03/13 23:07, 7F
文章代碼(AID): #1HFpdjeg (java)
文章代碼(AID): #1HFpdjeg (java)