我正在從一本教科書中進行編程練習,在這本教科書中我們給出了一個計算一週稱爲Zeller一致性的算法。那麼你認爲我可以得到與教科書中樣本運行相同的輸出!他們在2002年,第3個月和第26個月的日子。這個樣本回讀星期二。我已經做了幾個小時的MOD和重寫,並且無法在星期二附近獲得!星期幾,java和澤勒的一致!
它是Java綜合教科書8e的第133頁,如果任何人有它......我是一個初學者如此有建設性的反饋最受歡迎!
你的意見,將不勝感激:
import java.util.Scanner;
public class DayOfTheWeek {
public static void main(String[] args) {
// Set up the scanner...
Scanner input = new Scanner(System.in);
// Set up the day's of the week with 0 being Sat as per algorithm.
final String[] DAY_OF_WEEK = {"Saturday", "Sunday", "Monday",
"Tuesday", "Wednesday", "Thursday", "Friday"};
// Get the year
System.out.print("Enter the year (e.g., 2002): ");
int year = input.nextInt();
// Get the month
System.out.print("Enter the month 1-12: ");
int month = input.nextInt();
// Get the day
System.out.print("Enter the day 1-31: ");
int day = input.nextInt();
// According to the algorithm Jan is 13 & Feb 14...
if (month == 1) month = 13;
else if (month == 2) month = 14;
// j Is the century.
int j = year/100;
// k Is the year of the century.
int k = year % 100 ;
// Calculate
double h = (month + ((26*(month + 1))/10) + k + (k/4) +
(j/4) + (5 * j)) % 7;
// Cast answer back to integer to get result from array
int ans = (int)h;
// Print result
System.out.println("Day of the week is: " + DAY_OF_WEEK[ans]);
}
}
打我吧!另外,我不明白維基頁面上的數學語法,但是整數除法足夠嗎? – Bringer128
我認爲這個符號只是除法,但是每個符號都有絕對值,所以它幾乎是「整數除法」。 –
圍繞分部的線條是落地功能(總是往下舍入)。正如@Jon Lin所說,它是整數部門。如果頂部(而不是底部)的角落是ceil函數(總是舍入)。 – helios