我接到了一项任务,它对如何完成有很多限制,并且花了一整天的时间试图解决它,感觉除非我寻求帮助,否则我将一事无成。我将首先提到以下代码必须保持不变。可以添加更多方法,但当前方法和属性必须保持不变。我想要做的就是从控制台输入中获取日期:日月和年(必须在 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;}}
1 回答
jeck猫
TA贡献1909条经验 获得超7个赞
由于您已经提到代码必须保持不变。
你可以试试这个方法
您有 MyCalendar2 构造函数,但尚未创建 MyCalendar2 对象。
创建 MyDate 后 date = new MyDate(d, m, y); 对象,您可以使用此“日期”对象创建 MyCalendar2 对象。
然后,您可以访问 getDayOfWeek 并打印日期。
有一些语法错误,在方法中使用 MyCalendar2 myDate2 对象,并将 getDayOfWeek 的返回类型更改为 void。
并且构造函数必须像这样 public MyCalendar2(MyDate x) 而不是 public MyCalendar2(myDate x)。
希望能帮助到你。
添加回答
举报
0/150
提交
取消