Mã: [COLOR="Blue"]public static double[/COLOR] cal([COLOR="blue"]int[/COLOR] hours,[COLOR="blue"]double[/COLOR] money) { [COLOR="blue"]int[/COLOR] over= 0; [COLOR="blue"]if [/COLOR](hours > 40) over = hours - 40; [COLOR="blue"]int[/COLOR] regular = hours - over; [COLOR="blue"]return[/COLOR] (regular + over * 1.5) * money; } Cho tui hỏi đoạn mã trên có gì trục trặc vậy ? Đây là đoạn code viết theo yêu cầu tình số tiền làm theo giờ khi biết số tiền của 1 giờ và tổng thời gian làm việc. Nếu như tổng thời gian làm việc mà quá 40 tiếng, thì số tiền cho 1 giờ làm quá sẽ được tính lên gấp 1.5 lần bình thường. Tui viết đoạn code như trên mà thằng Manager nó cứ bảo sai là sao nhỉ? Cho nên tui mới vác lên đây nhờ các cao thủ xem dùm Cám ơn
Times 1.5 đó, 0.5 hồi nào. Như vậy cái tui viết bình thường vá tính đúng cho tất cả trường hợp giờ >0 mà đúng không ? Thế mà nó nói với tui là over trong đoạn mã tui viết sẽ không thể lớn hơn 40 được.Tui thấy được quá đi chứ nhỉ? Các cậu có ý kiến gì không?
đọc ko hiểu à cách tính như vậy cũng giống như của ông thôi mà ông còn viết thừa cái regular, time lớn hơn 40 thì regular của ông là 40 rồi làm gì phải tính :)
Tại hạ có mắt như mù , thất lễ với tiền bối. Cách của cậu optimize hay lắm. Sau này có gì xin giúp đỡ
sao bác ko cho chạy thử,thấy cũng đâu có gì...sai :( bác chimcanhcut cho xin Y!M luôn,sẵn tiện xin chỉ giáo vài chiêu
Cho chạy thử rồi thấy hông có gì sai cả Cách của thằng Manager nó làm thế này if(hours<=40) return 40*money; else { over = hours - 40; return (40 + over*1.5)*money; } tui thấy cũng giống tui thui , thế mà nó cứ bắt bẻ. Thôi thì cứ code mẹ theo cách nó cho xong Nếu làm theo cách nghĩ của bạn Bối bối thì code còn ngắn và đẹp nữa public static double cal(int hours,double money) { int over= 0; if (hours > 40) over = hours - 40; [ return (hours + over * 0.5) * money; } Y!M là chimcanhcuthuydiet@yahoo.com. Tui sẽ cố giúp trong khả năng của mình
Manager của bạn thông minh nhỉ Bạn này cũng thông minh lun Giỡn chút đừng la em :'> Mình thấy làm như thế này là hay nhất Mã: { [COLOR="RoyalBlue"]if[/COLOR] (hours<=40) [COLOR="RoyalBlue"]return[/COLOR] hours*money; [COLOR="Blue"]return[/COLOR] (hours+(hours-40)*1.5)*money; }
đoạn của chimcanhcut chuẩn rồi. cậu sai rồi chỗ bold thành (40+(hours-40)*1.5)*money;// hoặc: (hours+(hours-40)*0.5)*money; thì đúng :-*
hihi,type nhanh nhằm chỗ đó Ý mình chỉ là bớt khai 1 biến và chương trình nhanh hơn thôi. Nhằm như cái chỗ #8 ấy mà :'>