![]() |
||
Elite Member
加入日期: May 2002 您的住址: 地球的上面..
文章: 5,854
|
![]() 引用:
我是這樣的意思.. double[] a = { 6.5, 9, 6.5, 9.5, 6.5, 6.5, 0, 6.5, 6.5, 6.5, 6, 9.5, 6.5, 0, 6.5, 9, 6.5, 6, 6.5, 0, 6.5, 6.5, 6.5, 6.5, 6.5, 6.5, 0, 6.5, 0, 0, 0 }; int len = a.Length; int t = 7; for (int i = 1; t <= len; ) { var val = a[t - 1]; if (val == 0) Console.WriteLine("第{0}天 : 假日", t); // end if i++; t *= i; } // end if 顯然迴圈是大幅降低.. 不過如果摟主的條件是假日非固定性了.. 那將需要另外再評估... |
||||||||
![]() |
![]() |
Major Member
![]() 加入日期: Aug 2005
文章: 237
|
引用:
謝謝您的程式,把n改成i後就可以執行了。 只是我看不懂您的程式logic,方便解說說,感恩! ![]()
__________________
"拋磚引玉"大家來談談,你用過免費又好用的程式 |
|||
![]() |
![]() |
Regular Member
![]() ![]() 加入日期: Feb 2005
文章: 71
|
抱歉哦,睡前迷迷糊糊的。
array裡的index打錯,index最大也打錯。 陣列[]裡應該是 i 不是 n 列印那行裡面的也是 i 不是 n for裡應該改成 i < 31或是直接用 i < array.length替代,就不會有30天或31天的問題。 沒實際跑過,有問題再上來問吧 : ) |
![]() |
![]() |
Major Member
![]() 加入日期: Aug 2005
文章: 237
|
引用:
對的! 沒錯。 ![]() 引用:
謝謝您的回答。我真的只懂用Loop的來解決。 太難的,真的不會。 ![]() 引用:
謝謝您! loop + if/else,我才看得懂。 ![]()
__________________
"拋磚引玉"大家來談談,你用過免費又好用的程式 |
|||
![]() |
![]() |
Major Member
![]() 加入日期: Aug 2005
文章: 237
|
引用:
謝謝您! 方便解說,您這個程式的logic嗎?小弟看不太懂。 ![]()
__________________
"拋磚引玉"大家來談談,你用過免費又好用的程式 |
|
![]() |
![]() |
Major Member
![]() 加入日期: Aug 2005
文章: 237
|
引用:
7休1。規定就是每7天一定要放一天。那天不一定是星期日。
__________________
"拋磚引玉"大家來談談,你用過免費又好用的程式 |
|
![]() |
![]() |
Regular Member
![]() ![]() 加入日期: Feb 2005
文章: 71
|
引用:
int flag = 1; //計算你上班天數,從第一天開始算 for(int i = 0; i < array.length; i++, flag++){ //array.length就是你休假陣列長度,每走一圈,flag上班天數+1 if(array[i] == 0){ //當天上班時數為零,上班天數flag就會歸零 flag = 0; } if(flag > 6){ //上班天第七天就會顯示當天不符合規定,並列印 System.out.println("第" + (i+1) + "天不符合"); //[]初始從0開始算,轉成實際天數要+1 } } 此文章於 2016-12-26 09:22 AM 被 classspeed 編輯. |
|
![]() |
![]() |
Elite Member
加入日期: May 2002 您的住址: 地球的上面..
文章: 5,854
|
![]() 引用:
那我建議你以一個星期(7天)為一個單位.. 作為第一層loop 而且以倍數性增長 7, 14, 21, 28這樣.. 然後放入一個inner loop... 1-7 8-14 15-21 依此類推 只要抽出檢查發現有一天有假日就符合用break跳出inner loop... 不要乖乖真的跑loop到31次.. 那不是一個好作法.. 最簡單的理由就是有可能每一次的inner loop都跑完嗎?... 如果每次都跑完, 這甚麼鳥公司啊... 這出勤已經不是可以用血汗來形容了.... ![]() 違反勞基法, 要向勞檢單位檢舉... ![]() 你要適切的符合真實世界情況... 好吧!.. 有人會覺得我機車... 小弟就是不想跑完那31次loop拉..>o<"" 當你掌握了這樣的算法.. 你再增加一個類似event_args之類的物件, 目的類似context.. 要用他做紀錄.. 為的就是要快速計算你後面的三個條件... 此文章於 2016-12-26 09:36 AM 被 vxr 編輯. |
|
![]() |
![]() |
Major Member
![]() 加入日期: Aug 2005
文章: 237
|
引用:
![]() ![]() ![]() 太感謝了!
__________________
"拋磚引玉"大家來談談,你用過免費又好用的程式 |
|
![]() |
![]() |
Major Member
![]() 加入日期: Aug 2005
文章: 237
|
引用:
謝謝您! 您的方法對我而言,真的是太難了。 ![]()
__________________
"拋磚引玉"大家來談談,你用過免費又好用的程式 |
|
![]() |
![]() |