Java枚举

-1 java enums

这就是我想要做的:

创建一个包含表示一周中几天的枚举的应用程序.显示日期列表,然后提示用户一天.显示所选日期的营业时间.假设营业时间为周日11至5,工作日为9至9,周六为9至6.

这就是我所拥有的:

import javax.swing.JOptionPane;


public class DayOfWeek {
Day day;

public void Day(Day day) {
    this.day = day;
}

public void businessHours() {
    switch (day) {
        case SATURDAY: System.out.println("Open from 9 to 6.");
                     break;

        case SUNDAY: System.out.println("Open from 11 to 5.");
                     break;

        default:     System.out.println("Open from 9 to 9.");
                     break;
    }
}

public static void main(String[] args) {

    String dayInput = JOptionPane.showInputDialog("Please input a day: ");

    EnumDay sixthDay = new EnumDay(Day.SATURDAY);
    sixthDay.businessHours();
    EnumDay seventhDay = new EnumDay(Day.SUNDAY);
    seventhDay.businessHours();

    if (dayInput == "Saturday")
    {
    JOptionPane.showMessageDialog(null, sixthDay.businessHours());
    System.exit(0);
    }

    else if (dayInput == "Sunday")
    {
        JOptionPane.showMessageDialog(null, seventhDay.businessHours());
        System.exit(0);
    }
    else
    {
        JOptionPane.showMessageDialog(null, default.businessHours());
        System.exit(0);
    }
}
}
Run Code Online (Sandbox Code Playgroud)

和枚举类:

public enum Day {

SUNDAY, MONDAY, TUESDAY, WEDNESDAY, 
THURSDAY, FRIDAY, SATURDAY 

}
Run Code Online (Sandbox Code Playgroud)

请帮助我如何进行比较和打印输出.谢谢.

fle*_*esk 6

如果您创建这样的枚举:

public enum Day {
    SUNDAY("Sunday", "Open from 11 to 5."),
    MONDAY("Monday", "Open from 9 to 9."),
    TUESDAY("Tuesday", "Open from 9 to 9."),
    WEDNESDAY("Wednesday", "Open from 9 to 9."),
    THURSDAY("Thursday", "Open from 9 to 9."),
    FRIDAY("Monday", "Open from 9 to 9."),
    SATURDAY("Saturday", "Open from 9 to 6.");

    private final String day;
    private final String openingHours;

    Day(String day, String openingHours) {
        this.day = day;
        this.openingHours = openingHours;
    }

    public String getDay() {
        return day;
    }

    public String getOpeningHours() {
        return openingHours;
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以获得请求的日期:

Day day = null;

for (Day d : Day.values()) {
    if (d.getDay().equals(dayInput)) {
        day = d;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后就是

if (day != null)
    System.out.println(day.getOpeningHours());
Run Code Online (Sandbox Code Playgroud)