PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   板上的Java高手請教,勞工新制的工時計算 (https://www.pcdvd.com.tw/showthread.php?t=1119247)

Jason Ju 2016-12-26 11:31 AM

引用:
作者vxr
以七天為一個單位...
第一個禮拜: 0 8 8 8 8 8 8
第二個禮拜: 8 8 8 8 8 8 0
這樣違反七休一?...:confused:...

小弟只是依照樓主的條件計算..


0 8 8 8 8 8 8 8 8 8 8 8 8 0

有無違反?

更詳細的說

五 0
8
8
8
8
8
8
8
六 8
日 8
一 8
二 8
三 8
四 0

應該很清楚了吧 xD

vxr 2016-12-26 11:37 AM

引用:
作者Jason Ju
0 8 8 8 8 8 8 8 8 8 8 8 8 0

有無違反?

OK 我知道你的意思.
連續工作超過7天..
已經違反..
code要稍微小改

classspeed 2016-12-26 11:40 AM

這是單就一個月的前提去做啦,
有做多個月的話,最後flag回傳再當下個月flag初始值可以解決。

vxr 2016-12-26 11:40 AM

引用:
作者Jason Ju
0 8 8 8 8 8 8 8 8 8 8 8 8 0

有無違反?

更詳細的說

五 0
六 8
日 8
一 8
二 8
三 8
四 8
五 8
六 8
日 8
一 8
二 8
三 8
四 0

應該很清楚了吧 xD


你這是雞蛋裡挑骨頭..
樓主沒給這條件...

Jason Ju 2016-12-26 11:43 AM

引用:
作者classspeed
不過這的確是單就一個月的前提去討論而已啦,
如果好幾個月就不適用了。


如果 follow 檢查每天往後(或往前) 7 天及 14 天 range 有無抵觸, 不論幾個月都沒有影響.

Jason Ju 2016-12-26 11:45 AM

引用:
作者vxr
你這是雞蛋裡挑骨頭..
樓主沒給這條件...


其實他給的是一個 array, 沒有說頭一定是週一. 我們要找出的是不 match rule 的值並告知.

//條件:
//一、7休1
//二、14休2
//三、7天內的工時合計不可超過48小時
//四、14天內的工時合計不可超過80小時,若超過時顯示加班幾個小時

我認為條件很明確, 不該自己去解釋.

btw, 你知道有很多人不能休六日或者須要排休吧?

classspeed 2016-12-26 11:51 AM

其實是蠻喜歡討論這個的,
早上睡醒還跟老婆分享這件事,
結果被她抓到 i 變 n 跟 i < 30 的問題XD
說我沒有驗證就回XD

mor8 2016-12-26 12:50 PM

引用:
作者Jason Ju
public void count(final double[] dayHoursArry){
for(int i = 0; i < dayHoursArry.length; i ++){
final int startDate = i;
//三、7天內的工時合計不可超過48小時
final int weekEndDate = i+6;
final double[] newArry7days = Arrays.copyOfRange(dayHoursArry, startDate, weekEndDate);
final double weekdayHours = getSum(newArry7days);
System.out.println("day " + startDate + " to day " + weekEndDate + " hours = " + weekdayHours);
chekcOffDays(newArry7days);
if(weekdayHours > 48) {
System.out.println(" ==> over " + (weekdayHours-48) );
}
//四、14天內的工時合計不可超過80小時,若超過時顯示加班幾個小時
final int twoWeekEndDate = i+13;
final double[] newArry14days = Arr...

感謝您的程式碼 :like:
不好意思,請教
一、程式碼中的Arrays 及HashSet(),有紅色底線,要如何處理。
二、我在一樓中,給的上班時數,陣列資料要放在程式碼中的哪個位置呢?

感謝! :)

mor8 2016-12-26 12:52 PM

引用:
作者classspeed
其實是蠻喜歡討論這個的,
早上睡醒還跟老婆分享這件事,
結果被她抓到 i 變 n 跟 i < 30 的問題XD
說我沒有驗證就回XD

謝謝您們夫妻倆人 :)

傳說 2016-12-26 01:18 PM

一、沒import相關的package?
NetBean:按Alt+Shift+F
Eclipse:按Ctrl+Shift+O
不同版本可能有不同的組合鍵!

二、你要問自己那個資料陣列怎麼來的!

引用:
作者mor8
感謝您的程式碼 :like:
不好意思,請教
一、程式碼中的Arrays 及HashSet(),有紅色底線,要如何處理。
二、我在一樓中,給的上班時數,陣列資料要放在程式碼中的哪個位置呢?

感謝! :)


所有的時間均為GMT +8。 現在的時間是07:49 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。