java - 我在导入类时遇到问题,我不确定为什么它是错误的

标签 java

我有两个类,一个将被导入到另一个中。在第一个类中,唯一的问题是它没有识别出我的“枚举”开头

`public class myDate {

    public enum Date {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY};

    private Date Day;

    public myDate(Day**<--this is considered error** currentDay)
    {
        this.Day = currentDay;
    }`

我觉得这会影响导入此类的能力。

这是我的测试课。这是我写的代码。大部分都很好。

import java.util.Scanner;
import javax.swing.*;
import myDate.Date;

public class testDate {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        JFrame frame = new JFrame("Message");
        Scanner keyboard = new Scanner(System.in);
        int enterDay;
        Date currentDay;
        Date nextDay;
        Date prevDay;
        Date calcDay;
        int userChoice;
        boolean loop;

        loop = true;

        myDate day = new myDate(Date.MONDAY);

        while(loop)
        {
            Object[] options = {
                    "Set The Day", "Print The Day", "Return The Day",
                    "Return The Next Day", "Return The Previous Day",   
                    "Calculate The Next Weekday"
        };

        userChoice = JOptionPane.showOptionDialog(frame, "Choose from the actions below", "What is The Day of The Week Game?", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]);

        switch(userChoice)
        {
        case 0:
            System.out.print("Please enter a number 1-7, representing Monday-Sunday");
                enterDay = keyboard.nextInt();
                keyboard.nextLine();
                day.setDay(enterDay);
                break;

        case 1:
            currentDay = day.getDay();
            day.showCurrentDay(currentDay);
            break;

        case 2:
            currentDay = day.getDay();
            day.showCurrentDay(currentDay);
            break;

        case 3:
            currentDay = day.getNextDay();
            day.showCurrentDay(nextDay);
            break;

        case 4:
            prevDay = day.getPrevDay();
            day.showCurrentDay(prevDay);
            break;

        case 5:
            System.out.print("Please enter the number of days you want to add to calculate the new weekday ");
            enterDay = keyboard.nextInt();
            keyboard.nextLine();
            calcDay = day.calcDay(enterDay);
            day.showCurrentDay(calcDay);
            break;
        }

    System.out.print("Would you like to continue? Enter 1 for 'Yes' and 2 for 'No'");
        enterDay = keyboard.nextInt();
        keyboard.nextLine();

        if (enterDay == 2)
        {
            loop = false;
            System.out.print("YOU SHALL PASS");
        }

        keyboard.close();

        System.out.print("YOU SHALL NOT PASS");

        }


    }

}
}

这是出现错误的部分。分配给“Date”和导入“myDate.Date;”的所有变量带有红色下划线,我不知道为什么。

 import myDate.Date;  <--- this part comes up as error

    public class testDate {

        public static void main(String[] args) {
            // TODO Auto-generated method stub

            JFrame frame = new JFrame("Message");
            Scanner keyboard = new Scanner(System.in);
            int enterDay;
            Date currentDay;
            Date nextDay;
            Date prevDay;
            Date calcDay;
            int userChoice;
            boolean loop;

            loop = true;

            myDate day = new myDate(Date.MONDAY);
        }

最佳答案

您不需要(也不能)从 myDate 类中导入字段 Date。您可以在 myDate 类中访问 Date 枚举,例如

myDate.Date currentDay;
myDate.Date nextDay;
myDate.Date prevDay;
myDate.Date calcDay;

您还可以将enum移动到它自己的源文件中。我也会重命名它,已经有 java.sql.Datejava.util.Date

关于java - 我在导入类时遇到问题,我不确定为什么它是错误的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29070138/

相关文章:

java - Else If 和 Do while 没有按预期工作

java - 如何在内部类中调用外部类的构造函数

java - Struts2验证,验证失败时重新填充所有字段

java - 内部类和构造函数

java - Spring 集成邮件轮询器

java - 当我运行下面的java代码时出现这个错误

java - 错误 : an enum switch case label must be the unqualified name of an enumeration constant

java - 如何从特定版本的 Google Sheet 读取数据?

java - 在构造函数中设置 ThreadLocal 变量是否有效?

java - 如何配置 open fire 以从外部数据库对用户进行身份验证?