为了账号安全,请及时绑定邮箱和手机立即绑定

java创建一个类的方法来调用另一个类的方法

java创建一个类的方法来调用另一个类的方法

倚天杖 2021-11-11 15:45:15
我接到了一项任务,它对如何完成有很多限制,并且花了一整天的时间试图解决它,感觉除非我寻求帮助,否则我将一事无成。我将首先提到以下代码必须保持不变。可以添加更多方法,但当前方法和属性必须保持不变。我想要做的就是从控制台输入中获取日期:日月和年(必须在 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个赞

由于您已经提到代码必须保持不变。

你可以试试这个方法

  1. 您有 MyCalendar2 构造函数,但尚未创建 MyCalendar2 对象。

  2. 创建 MyDate 后 date = new MyDate(d, m, y); 对象,您可以使用此“日期”对象创建 MyCalendar2 对象。

  3. 然后,您可以访问 getDayOfWeek 并打印日期。

  4. 有一些语法错误,在方法中使用 MyCalendar2 myDate2 对象,并将 getDayOfWeek 的返回类型更改为 void。

  5. 并且构造函数必须像这样 public MyCalendar2(MyDate x) 而不是 public MyCalendar2(myDate x)。

希望能帮助到你。


查看完整回答
反对 回复 2021-11-11
  • 1 回答
  • 0 关注
  • 265 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信