我被赋予了一项任务,该任务在完成方式上有很多限制,并且整整一整天都在尝试解决该问题,感觉我对此一无所获除非我寻求帮助。
我将首先提到以下代码必须保持不变。可以添加更多方法,但是当前方法和属性必须保持不变。
我要做的只是从控制台输入日期(每年必须在主方法中完成):日期,月份和年份,然后将其存储在“日期”对象中(可以一起使用)。 Date对象然后调用get Day()方法,该方法将返回0-6之间的整数。现在,我想创建一个名为getDayOfWeek()的方法,该方法将使用0-6之间的整数值并返回实际的一周中的某一天(例如星期六)。我不需要帮助来创建getDayOfWeek()方法的功能。.我只是在解决如何将整数值解析为函数的问题。我已经尝试了无数种方法。例如,我正在尝试对这种方法进行成像:
getDayOfWeek(){
switch(date.getDay())等。
错误显示为“找不到符号:可变日期,位置:MyCalendar2”
我尝试过尽可能详细地描述这种情况。感谢任何可以提供帮助的人。
package mycalendar2;
import java.util.Scanner;
public class MyCalendar2 {
private MyDate myDate2;
static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
System.out.print("Enter the date as day month year: ");
int d = scanner.nextInt();
int m = scanner.nextInt();
int y = scanner.nextInt();
MyDate date = new MyDate(d, m, y);
}
public MyCalendar2(myDate x){
this.myDate2 = x;
}
public int getDayOfWeek(){
switch(date.getDay()) {
case 0:
System.out.println("Day is a Sunday");
break;
case 1:
System.out.println("Day is a Monday");
break;
case 2:
System.out.println("Day is a Tuesday");
break;
case 3:
System.out.println("Day is a Wednesday");
break;
case 4:
System.out.println("Day is a Thursday");
break;
case 5:
System.out.println("Day is a Friday");
break;
case 6:
System.out.println("Day is a Saturday");
break;
default:
break;
}
}
}
class MyDate{
private int day;
private int month;
private int year;
public MyDate(int d, int m, int y){
this.day = d;
this.month = m;
this.year = y;
}
public int getDay(){
int y0 = year - (14 - month) / 12;
int x = y0 + y0 / 4 - y0 / 100 + y0 / 400;
int m0 = month + 12 * ((14 - month) / 12) - 2;
int d0 = (day + x + (31 * m0) / 12) % 7;
return d0;
}
}
答案 0 :(得分:0)
由于您已经提到过,代码必须保持不变。
您可以尝试这种方法,
希望有帮助。