我有两个类,一个将被导入到另一个中。在第一个类中,唯一的问题是它没有识别出我的“枚举”开头
`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.Date
和 java.util.Date
关于java - 我在导入类时遇到问题,我不确定为什么它是错误的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29070138/