Loop 次數

如果個程式如下:
想問個程式其實loop咗多幾多次?
1) Loop咗10次,但只show個takeday=Wed?
or
2) Loop 到個takeday=Wed為止?

------------

String wantday[] = { "Fri", "Wed" };
String workday[] = { "Mon", "Wed", "Fri", "Sat", "Sun" };
String PH[] = { "N", "N", "Y", "N, "N" };
String takeday  = null;
for (int i = 0; i < want.daylength; i++) {
for (int j = 0; j < workday.length; j++) {
if (takeday  == null) {
if (wantday[i].equals(workday[j])                                                        && sPH[j].equals("N")) {
takeday = wantday[i];
Log.d("Take leave Day is", takeday);
}
}
}
}

試下run一次,擺breakpoint逐下step through睇下

TOP

1/ 佢出左句Take leave Day is Wed
唔知你sPH係咪打錯左啦
咁由於拎到Fri時PH係Y (i = 0 , j = 2)
咁所以takeday都仲係null
所以Wed就會出左黎 (i = 1, j = 1)

同時因為你個loop 冇break, 所以佢loop足10次

TOP

本帖最後由 tuyylihk 於 2015-7-30 09:24 編輯

首先你呢兩度打錯..
for (int i = 0; i < want.daylength; i++) {

sPH[j].equals("N")

唔理呢個問題
LOOP就肯定LOOP足十次
你又冇BREAK

TOP

Thx all,
係我一時打多咗s同.,Sorry,
另外已加retrun.只會LOOP到takeday=Wed.
但可唔可以貪心D, 有無方法只做兩次?

TOP

努力可嘉, 但我會作個temp table 係database做query

TOP

回覆 6# 杜龍

由於小弟係自學,未去到咁高LEVEL,求請教!

TOP

卑我就唔用loop,用map,你workday可以係一個map,之後key用日子,value係Y/N(其實唔好用Y/N啦,用true/false啦),wantday同workday嘅key裏面搵相同,之後直接係相同裏面搵value true,結果就係你要嘅takeday。
http://stackoverflow.com/questio ... on-of-java-util-map
參考

TOP

回覆 8# ip4368

THX,我會學下

TOP

回覆  ip4368

THX,我會學下
是但 發表於 2015-7-31 21:02


我唔敢講我個方法係快, 但係我覺得比較簡單. btw, 下次post code用[ code ][/ code](no space), 之後有良好indentation好重要.

TOP