Compiler-Fehler Unresolved compilation problem

Farbenfroh

Mitglied
Hallo Leute!
Es ist mir fast schon peinlich diese Frage zu stellen..
Wollte gerade mal testweise ein kleines Programm schreiben (bin im ersten Semester) aber gleich zu Beginn erhalte ich eine Fehlermeldung, die ich jetzt gerne geklärt hätte.

Mein Code:

[JAVA=12]
import java.util.Scanner;

class race {

public class car {
int speed;
int delay;
}

public static void main(String[] args) {
Scanner eingabe = new Scanner(System.in);
car audi = new car();
audi.speed = eingabe.nextInt();
audi.delay = eingabe.nextInt();
}

}[/code]
Die Codezeile car audi = new car(); ist mit folgender Fehlermeldung versehen:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
No enclosing instance of type race is accessible. Must qualify the allocation with an enclosing instance of type race (e.g. x.new A() where x is an instance of race)

Und ich raff einfach nicht wo der Fehler ist, werde aus der Fehlermeldung auch nicht recht schlau obgleich mein Englisch eigentlich ganz gut ist 🙁
 
An deiner Stelle würde ich

Java:
public class car {
        int speed;
        int delay;
    }
in eine Eigene Datei mit dem namen car.java schreiben
 
Danke für den Tipp, sorgt bei komplexeren Programmen auf jeden Fall für eine bessere Übersicht - hilft bei der Fehlermeldung allerdings leider nicht weiter
 
Hi,
Hier ein Beispiel, wenn eine Instanz für eine innere Klasse (wie bei dir car() ) eingesetzt wird:
Java:
import java.util.Scanner;

public class Race {
	private static Car audi;
	
    public class Car {
        int speed;
        int delay;        
    } 

    private void createCarInstance() {
    	audi = new Car();
    }
    
    @SuppressWarnings("resource")
	public static void main(String[] args) {
    	Race race = new Race();
    	race.createCarInstance();
    	
    	Scanner eingabe = new Scanner(System.in);
    	System.out.println("Eingabe");
        audi.speed = eingabe.nextInt();
        audi.delay = eingabe.nextInt();
       
        System.out.println("Resultat: "+ audi.speed + "; " + audi.delay);
        
    }
}
 
Vielen Dank für die schnellen Antworten!
Der Hinweis mit der externen Datei car.java hat doch zur Lösung des Problems geführt. Eclipse hat nur eine gewisse Zeit gebraucht die Fehlermeldung nach Erstellen der externen Datei aufzuheben.
Und auch vielen Dank für den zuletzt geposteten Code.
 

Zurück
Oben