用户如何在我的日历(java)中创建日期?

r3i60tvu  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(296)

我正在尝试用java编写日历。我创建了3个类:
1.日期(包括年、月……)
2.事件(包括人、地点、上课日期…+创建日期的选项)
3.mainclass包含菜单的我的mainclass。
我的问题是,我不知道用户如何创建自己的日期,因为我必须自己创建对象终端。。。有人能帮我修一下吗?提前谢谢!

public class Event {
   private String mDescription, mPlace, mNames;
   private Date mStart, mEnd;

Termin(String description, String place, String names, Date start, Date end) {
    mBetreff = description;
    mOrt = place;
    mNamen = names;
    mBeginn = start;
    mEnde = end;
}

public void create() {
    Scanner read = new Scanner(System.in);
    System.out.println("Enter 1. description 2. place 3. names 4. start 5. end ein");
    mDescription = read.nextLine();
    mPlace = read.nextLine();
    mNames = read.nextLine();
}

public String toString() {
    return "Description : " + mDescription + "\nPlace: " + mPlace + "\nNames: " + mNames + "\nIts starts at " + mStart
            + " and ends at " + mEnd;
 }
}

public class Date {
   private int year, day, month, hours, minutes;

Datum(int year, int month, int day, int hours, int minutes) {
    this.day= day;
    this.year= year;
    this.month= month;
    this.hours= hours;
    this.minutes= minutes;
}

public String toString() {
    return "\n" + day + "." + month + "." + year + " um " + hours+ ":" + minutes;
}

public void enterDate() {
}
}

编辑:
两年前我问过这个问题,那时我刚开始编写代码,对oop和封装一无所知。。。
回答我自己的问题,对于每一个尝试创建终端日历的新手:
日期需要以下方法:

public setDate() {
   this.year = read.nextLine();
   ...
}

为每个成员。
事件在构造函数或类似setter的方法中获取结果对象日期。

yx2lnoni

yx2lnoni1#

创建一个示例方法来创建约会有点。。。奇怪,因为需要创建一个约会(称为 Termin 在您的情况下)创建约会。一种可能是builder模式。通过使用公共静态内部生成器类,可以将构造函数设置为私有,并强制使用该生成器:

public class Main {

    private int value;

    private Main(int value) {
        this.value = value;
    }

    public int getValue() {
        return (this.value);
    }

    public static class MainBuilder {

        boolean valueWasSet;
        int value;

        public MainBuilder() {
            this.valueWasSet = false;
            this.value = -1;
        }

        public void setValue(int value) {
            this.value = value;
            this.valueWasSet = true;
        }

        public Main build() {
            if (!this.valueWasSet) {
                throw new IllegalStateException("value must be set before a Main can be build.");
            }

            return (new Main(this.value));
        }
    }
}

(这是一个简化的草图,展示了如何在构建 Main 通过 MainBuilder .
构造一个模型的过程 Main 可能是:

MainBuilder builder = new MainBuilder();

builder.setValue(100);
// all following Main's will have a value of 100
Main mainOne = builder.build();
Main mainTwo = builder.build();

builder.setValue(200);
// all following Main's will have a value of 200
Main mainThree = builder.build();
Main mainFour = builder.build();

相关问题