0
我試圖解決這個問題,在這個問題中輸入一個對應於星期幾(星期一 - 星期日)的數字1-7,然後在(0-20 )並且該程序返回一週中的某一天。我現在的解決方案除了'星期天'之外都適用你可以看到,如果程序打到「星期天」,那麼該數組就會超出界限。我可以簡單地說「如果newDay = 0,設置newDay = 7」,但我想看看是否有不同的解決方案。Java:simple array and mod
感謝您的幫助!
我試圖解決這個問題,在這個問題中輸入一個對應於星期幾(星期一 - 星期日)的數字1-7,然後在(0-20 )並且該程序返回一週中的某一天。我現在的解決方案除了'星期天'之外都適用你可以看到,如果程序打到「星期天」,那麼該數組就會超出界限。我可以簡單地說「如果newDay = 0,設置newDay = 7」,但我想看看是否有不同的解決方案。Java:simple array and mod
感謝您的幫助!
我不完全理解你正在做的背後的數學/邏輯,但我想我可以解釋(並糾正)錯誤。在下面的行的代碼:
newDay = (num + day) % 7;
其中newDay
可以取必須是0 6(含)之間和的值。所以,在我看來,你想訪問的天你的陣列如下:
System.out.println("The new day is " + days[newDay]);
這是有道理的,因爲days
有七個要素,通過尋址指數從0到6的包容性。
想想如果「newDay」等於0會發生什麼情況,那麼您可以意識到問題出在哪裏。 – LHCHIN