我接到了一項(xiàng)任務(wù),它對(duì)如何完成有很多限制,并且花了一整天的時(shí)間試圖解決它,感覺除非我尋求幫助,否則我將一事無成。我將首先提到以下代碼必須保持不變??梢蕴砑痈喾椒?,但當(dāng)前方法和屬性必須保持不變。我想要做的就是從控制臺(tái)輸入中獲取日期:日月和年(必須在 main 方法中完成),然后將其存儲(chǔ)在“日期”對(duì)象中(這可以玩轉(zhuǎn))。Date 對(duì)象然后調(diào)用 get Day() 方法,該方法將返回 0-6 之間的整數(shù)。我現(xiàn)在想創(chuàng)建一個(gè)名為 getDayOfWeek() 的方法,它將采用 0-6 之間的整數(shù)值并返回一周中的實(shí)際一天(例如星期六)。我不需要幫助創(chuàng)建 getDayOfWeek() 方法的功能。我只是在計(jì)算如何將整數(shù)值解析為函數(shù)時(shí)遇到問題。我已經(jīng)嘗試了無數(shù)的事情......例如我正在嘗試想象這個(gè)工作:getDayOfWeek(){switch(date.getDay()) 等..錯(cuò)誤內(nèi)容為“找不到符號(hào):可變?nèi)掌?,位置:MyCalendar2”我試圖盡可能詳細(xì)地描述該場(chǎng)景。感謝任何能提供幫助的人。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貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
由于您已經(jīng)提到代碼必須保持不變。
你可以試試這個(gè)方法
您有 MyCalendar2 構(gòu)造函數(shù),但尚未創(chuàng)建 MyCalendar2 對(duì)象。
創(chuàng)建 MyDate 后 date = new MyDate(d, m, y); 對(duì)象,您可以使用此“日期”對(duì)象創(chuàng)建 MyCalendar2 對(duì)象。
然后,您可以訪問 getDayOfWeek 并打印日期。
有一些語法錯(cuò)誤,在方法中使用 MyCalendar2 myDate2 對(duì)象,并將 getDayOfWeek 的返回類型更改為 void。
并且構(gòu)造函數(shù)必須像這樣 public MyCalendar2(MyDate x) 而不是 public MyCalendar2(myDate x)。
希望能幫助到你。
添加回答
舉報(bào)
0/150
提交
取消