好的,所以我试图创建一个程序,其中用户以dd / mm / yyyy格式(或类似的东西)输入他们的出生日期。我的老师和我很难连接,主要是因为我繁忙的日程安排,所以她无法提供帮助。我会发布作业说明,但请记住,如果你想帮助我,我在选择它时非常慢。所以"白痴"首选说明: - )......'以下是具体说明....我怎么开始这个?
***编写一个程序,要求用户解雇他/她的出生日期,并回复他们出生的星期几。你不能使用格里高利历。
有一些提示可以同时使用java.util和java.sql,字符串表示形式必须是yyyy-MM-dd格式。
如果需要更多关于我的信息,请告诉我。我非常想要理解这一点,因为这是我的专业。
这是我开始的。如果它休假,我道歉......(这是第3版: - ))
String date, month, day, year;
Scanner input = new Scanner(System.in);
Date birthday = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
System.out.println("Please enter your date of birth as mm/dd/yyyy");
date = input.next();
birthday = java.sql.Date.valueOf(date);
System.out.println("You were born on a " + sdf.format(date));
感谢所有!!
答案 0 :(得分:0)
答案 1 :(得分:0)
c(回到我的CNAM课程)解决了问题:
Zeller.c:
#include <stdio.h>
#include <iostream>
using namespace std;
#define IVLD "Date pour Zeller invalide\n"
#define TRUE 1
// passage des parametres de la fonction() par valeurs
int Zeller(int day, int month, int year) {
int dayOfWeek, adjustedMonth, yearInCentury, century;
/* verification date mini "15 Octobre 1582" + jour, mois, annee valid */
if ((day < 1 || day > 31) || (year < 1582) || (year == 1582 && month < 10) || (year == 1582 && month == 10 && day < 15)) {
cout << IVLD;
return 255;
}
yearInCentury = year % 100; century = year / 100;
/* ajustage de la date pour que
* Mars soit le mois 1 et fevrier le 12 */
adjustedMonth = month - 2;
if (adjustedMonth <= 0) {
adjustedMonth += 12;
--yearInCentury;
}
/* Congruence de Zeller
Annum civilem necessario constare ex diebus integris ! (Christophorus Clavius 1537 - 1612) */
dayOfWeek = ( ((int) (2.6 * adjustedMonth - 0.2) + day + yearInCentury + (int) (yearInCentury / 4) + (int) (century / 4) - 2 * century) % 7);
switch(dayOfWeek) {
case 0: cout << "dimanche\n"; break;
case 1: cout << "lundi\n"; break;
case 2: cout << "mardi\n"; break;
case 3: cout << "mercredi\n"; break;
case 4: cout << "jeudi\n"; break;
case 5: cout << "vendredi\n"; break;
case 6: cout << "samedi\n"; break;
default: cout << "Calcul errone, merci de remonter le bug aupres du developpeur SVP\n"; return(255);
}
return(dayOfWeek);
}
该算法可以轻松移植到java =)
中对不起法国噪音(但主要代码是英文)。