我们应该编写一个计算机科学程序,计算出你是在一周中的哪一天出生的。我们得到了这些指示。1) 从您出生年份的最后两位数字开始。2) 将上述数字除以 4,如果有 1,则舍去余数。3) 在月份表中找到与您出生月份相关的数字。4) 你的生日是一个月中的哪一天?5) 求在步骤 1 到 4 中获得的四个数字的总和。 6) 将总和除以数字 7。对应于天数表中余数的日期是您出生的星期几。
月表 日表
1 月 1 日(闰年 0) 2 月 1
日星期日(闰年 3) 3 月 2
日星期一 4 月 3 日星期二
4
月 3 日星期二 5 月 4 日星期三 6 月 5 日星期四 7
月 6 日星期五
0 月 0 日星期六
9
月 6 日
10 月 1
日 11 月 4
日 12 月 6 日
我一直在遇到无法比较的类型的问题:int 和 boolean,我不知道问题是什么,我尝试将变量更改为 boolean,但它没有解决任何问题。
package LeapYear;
import java.util.*;
public class Birthday
{
static Scanner in= new Scanner(System.in);
public static void main (String []args)
{
int year=getYear();
int month=getMonth(year);
int day=getDay();
int total=computeDay(day, month, year);
int dayofbirth=dayOfWeek(day,month,year);
}//end main
public static int getYear()
{
System.out.println("Please enter the last two digits of the year you were born:");
int y=in.nextInt();
return y;
}
public static int getMonth(int year)
{
int m;
System.out.println("Please select the month in which you were born:"+
"1.)Januaryn\n"+
"2.)February\n"+
"3.)March\n"+
"4.)April\n"+
"5.)May\n"+
"6.)June\n"+
"7.)July\n"+
"8.)August\n"+
"9.)September\n"+
"10.)October\n"+
"11.)November\n"+
"12.)December\n");
m=in.nextInt();
System.out.println("You entered " + m);
switch(m)
{
case 1: if(year ==true)
return 0;
else
return 1 ;
break;
case 2:if(year == true)
return 3;
else
return 4;
break;
case 3:return 4;
break;
case 4:return 0;
break;
case 5:return 2;
break;
case 6:return 5;
break;
case 7:return 0;
break;
case 8:return 3;
break;
case 9:return 6;
break;
case 10:return 1;
break;
case 11:return 4;
break;
case 12:return 6;
break;
}//end case
}//end getMonth
public static int getDay()
{
int d;
System.out.println("Please enter the day on which you were born");
d=in.nextInt();
return d;
}//end getDay
public static int computeDay(int day, int month, int year)
{
int weekday;
int y2=year/4;
int m2= month + y2 + day;
int total=m2/7;
return total;
}//end computeDay
public static int dayOfWeek(int day, int month, int year, int total)
{
int dob;
switch(dob)
{
case 1:if (total=1)
System.out.println("You were born on a Sunday");
break;
case 2:if (total=2)
System.out.println("You were born on a Monday");
break;
case 3: if (total=3)
System.out.println("You were born on a Tuesday");
break;
case 4: if(total=4)
System.out.println("You were born on a Wednesday");
break;
case 5: if(total=5);
System.out.println("You were born on a Thursday");
break;
case 6: if (total=6);
System.out.println("You were born on a Friday");
break;
case 7: if (total=7);
System.out.println("You were born on a Saturday");
break;
}
}//end dayOfWeek
}//end class