我接到了一项任务,它对如何完成有很多限制,并且花了一整天的时间试图解决它,感觉除非我寻求帮助,否则我将一事无成。
我将首先提到以下代码必须保持不变。可以添加更多方法,但当前方法和属性必须保持不变。
我想要做的就是从控制台输入中获取日期:日月和年(必须在 main 方法中完成),然后将其存储在“日期”对象中(这可以玩转)。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;
}
}
jeck猫
相关分类