Je fais cet exercice de programmation à partir d'un manuel où l'on nous donne un algorithme pour calculer le jour de la semaine appelé la congruence de Zeller. Pensez-vous que je peux obtenir la même sortie que l'échantillon exécuté dans le manuel? Ils vont avec l'année 2002, le mois 3 et le jour du mois 26. L'échantillon se lit mardi. J'ai fait plusieurs heures de mods et de réécritures et je n'arrive pas à me rapprocher de mardi!Jour de la semaine, java, et la congruence de Zeller!
C'est la page 133 de Java manuel complet 8e si quelqu'un l'a ... Je suis un débutant commentaires si constructifs les bienvenus!
Votre conseil serait apprécié:
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]);
}
}
Battez-moi! De plus, je ne comprends pas la syntaxe mathématique de la page wiki, mais la division entière suffit-elle? – Bringer128
Je pense que la notation est juste une division, mais il y a des valeurs absolues enroulées autour de chacune d'elles, donc c'est à peu près "division entière". –
Les lignes autour des divisions sont fonction du sol (arrondir toujours). Comme l'a dit @Jon Lin, c'est une division entière. Si les coins étaient en haut (pas le botton) ce serait fonction de plafond (arrondir toujours). – helios