Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
enum Fehlermeldung "The public type Day must be defined in its own file"
ich habe folgendene Datei angelegt mit "Eclipse Helios". Leider meckert
Java:
Zeile mit Enum: The public type Day must be defined in its own file
Zeile mit import class:
Multiple markers at this line
- The type java.lang.Enum cannot be resolved. It is indirectly
referenced from required .class files
- The type Enum is not generic; it cannot be parameterized with
arguments <Day>
- The type java.lang.Enum cannot be resolved. It is indirectly
referenced from required .class files
warum?! wenn ich richtig verstanden habe will eclipse die enum Liste wo anderes haben/in einem exernen file?
hier ist mein quellcode
Java:
import java.util.*;
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
public class EnumTest {
Day day;
public EnumTest(Day day) {
this.day = day;
}
public void tellItLikeItIs() {
switch (day) {
case MONDAY: System.out.println("Mondays are bad.");
break;
case FRIDAY: System.out.println("Fridays are better.");
break;
case SATURDAY:
case SUNDAY: System.out.println("Weekends are best.");
break;
default: System.out.println("Midweek days are so-so.");
break;
}
}
public static void main(String[] args) {
EnumTest firstDay = new EnumTest(Day.MONDAY);
firstDay.tellItLikeItIs();
EnumTest thirdDay = new EnumTest(Day.WEDNESDAY);
thirdDay.tellItLikeItIs();
EnumTest fifthDay = new EnumTest(Day.FRIDAY);
fifthDay.tellItLikeItIs();
EnumTest sixthDay = new EnumTest(Day.SATURDAY);
sixthDay.tellItLikeItIs();
EnumTest seventhDay = new EnumTest(Day.SUNDAY);
seventhDay.tellItLikeItIs();
}
}
hallo tfa!
sorry bin ein newby kannst Du bitte erklären wie man das macht. Muss ich ein .java file anlegen und in dieses enum kopieren?
Muss ich beim kompilieren etwas beachten und wie "includiere" ich den file. DANKE!
public class EnumTest {
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
Day day;
public EnumTest(Day day) {
this.day = day;
}
public void tellItLikeItIs() {
switch (day) {
case MONDAY: System.out.println("Mondays are bad.");
break;
case FRIDAY: System.out.println("Fridays are better.");
break;
case SATURDAY:
case SUNDAY: System.out.println("Weekends are best.");
break;
default: System.out.println("Midweek days are so-so.");
break;
}
}
public static void main(String[] args) {
EnumTest firstDay = new EnumTest(Day.MONDAY);
firstDay.tellItLikeItIs();
EnumTest thirdDay = new EnumTest(Day.WEDNESDAY);
thirdDay.tellItLikeItIs();
EnumTest fifthDay = new EnumTest(Day.FRIDAY);
fifthDay.tellItLikeItIs();
EnumTest sixthDay = new EnumTest(Day.SATURDAY);
sixthDay.tellItLikeItIs();
EnumTest seventhDay = new EnumTest(Day.SUNDAY);
seventhDay.tellItLikeItIs();
}
}
die eine Fehlermeldung wird jetzt nicht mehr angezeigt was aber noch bleibt die Meldung
Java:
Multiple markers at this line
- The type Enum is not generic; it cannot be parameterized with
arguments <EnumTest.Day>
- The type java.lang.Enum cannot be resolved. It is indirectly
referenced from required .class files
- The type java.lang.Enum cannot be resolved. It is indirectly
referenced from required .class files
Es kommt tatsächlich auf die Java version an bzw. Bibliotheken an.
Man kann diese Fehlermeldung los werden wenn die jre6 zum Beispiel verwendet wird.
Problem: falsche Bibliothek wird verwendet!
Lösung für eclipse:
Project-> Properties -> Java build path -> Libraries -> die aktuelle version checken, wenn 1.4 -> Edit -> Alternate (6 wählen, diese muss jedoch installiert sein)