0
我一直在解決以下代碼,並無法弄清爲什麼沒有在ArrayList unavDays中顯示出來。任何幫助表示讚賞。嵌套for循環和參數值
我測試單獨的塊:
- 第一if語句的計算結果爲 '真'
- unavTimesConv.size()/ 2 == 1
- unavDaysTemp [0] .equals(」 M「)=='true'
我知道如果沒有完整的圖片,代碼背後的想法可能很難理解。我希望我忽略了一個小的語法錯誤。是0,你從0
迭代i
直到
List<Integer> unavTimesConv = new ArrayList<Integer>();
那麼顯然unavTimesConv.size()
= 0
,因爲在創建的默認構造函數列表的大小而定:感謝
List<Integer> unavTimesConv = new ArrayList<Integer>();
List<String> unavDays = new ArrayList<String>();
String[] unavDaysTemp = request.getParameterValues("days");
if(request.getParameterValues("days") != null)
{
for(int i = 0; i < (unavTimesConv.size()/2); i++)
{
for(int j = (7*i); j < (7*(i+1)); j++)
{
if(unavDaysTemp[j].equals("M"))
{
unavDays.add("M");
}
else if(unavDaysTemp[j].equals("T"))
{
for(int k = 0; k < 1; k++) {unavDays.add(null);}
unavDays.add("T");
}
else if(unavDaysTemp[j].equals("W"))
{
for(int k = 0; k < 2; k++) {unavDays.add(null);}
unavDays.add("W");
}
else if(unavDaysTemp[j].equals("TH"))
{
for(int k = 0; k < 3; k++) {unavDays.add(null);}
unavDays.add("TH");
}
else if(unavDaysTemp[j].equals("F"))
{
for(int k = 0; k < 4; k++) {unavDays.add(null);}
unavDays.add("F");
}
else if(unavDaysTemp[j].equals("S"))
{
for(int k = 0; k < 5; k++) {unavDays.add(null);}
unavDays.add("S");
}
else {unavDays.add("Something busted");}
}
}
}
井的時間是0,'unavTimesConv'最初是空的時;所以'i'循環永遠不會被輸入,因爲'0 <(unavTimesConv.size()/ 2)'立即是錯誤的。 –
OP聲稱它已經過測試......測試必須有錯誤。 'unavTimesConv.size()/ 2 == 1'不正確。 –