main methode

Status
Nicht offen für weitere Antworten.

kwechsler

Mitglied
Hallo zusammen!
Schon seit Ewigkeiten versuche ich im folgenden Code den "Java TestDriver 4" aufzurufen. Nur wie stelle ich das an? Ich habe bereits mit public static void main(String [4] args) versucht, aber es kommen immer fehlermeldungen und wenn ich das programm ohne dieses aufrufen will kommt immer folgende Exception :cry: :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at TestDriver.main(TestDriver.java:23)

Ich wäre für eine Antwort sehr dankbar

Hier noch der Code:
Code:
public interface Auto {
	public int getPferdeStaerke();
	public void setPferdeStaerke(int pferdeStaerke);
	public int preis();
}

public class Ferrari extends Sportwagen{
	public Ferrari (int pferdeStaerke){
		super (pferdeStaerke);
	}
	public int preis(){
		return 6*getPferdeStaerke();
	}
}

public class Porsche extends Sportwagen{
	public Porsche(int pferdeStaerke){
		super (pferdeStaerke);
	}
}

public abstract class Sportwagen implements Auto{
	private int pferdeStaerke;
	
	public Sportwagen (int pferdeStaerke){
		setPferdeStaerke (pferdeStaerke);
	}
	
	public int getPferdeStaerke() {
		return pferdeStaerke;
	}
	
	public void setPferdeStaerke (int pferdeStaerke){
		this.pferdeStaerke=pferdeStaerke;
	}
	public int preis(){
		return 4*getPferdeStaerke();
	}
}

import java.util.Vector;

public class TestDriver{
	public static void main(String [] args) {
		
		Vector autos=new Vector();
		int [] ps = {300, 400, 650, 500, 550};
		
		for (int i = 0; i < Integer.parseInt (args[0]); i++){
			if (i % 2 == 0){
				autos.addElement(new Ferrari (ps[(ps.length) -i-1]));
			}
			else{
				autos.addElement(new Porsche (ps[ps.length -i-1]));
			}
		}
		for (int i = 0; i<autos.size(); i++){
			System.out.print(autos.get(i).getClass().getName()+": ");
			System.out.println(((Auto) autos.get(i)).getPferdeStaerke());
		}
	}
}
 

kwechsler

Mitglied
Danke für deinen Beitrag! Meine Frage ist eigentlich wie rufe ich den "java TestDriver 4" auf?
Wenn ich public static void main(String [4] args) eingebe und das programm starten will kommt eine Fehlermeldung: The active editor does not contain a main type
 
B

bygones

Gast
public static void main(String [4] args)

das ist auch falsch, korrekt ist einfach

public static void main(String [] args)

du gibst beim Parameter einer Methode bzw. bei Variablen nur den Typ an. In diesem Falle String[], mehr nicht...

kompilieren per javac TestDriver
aufrufen java TestDriver 4

wenn dir nicht klar ist, wie du genau kompilierst und das Programm ausführst, schau in die FAQs da gibt es Tipps und Tricks zum Einstieg in java
 

kwechsler

Mitglied
Leider bin ich immernoch nicht weitergekommen:
Wenn ich das Programm per java TestDriver kompiliere (public static void main(String [] args)) bekomme ich besagte Exception: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at TestDriver.main(TestDriver.java:23)
nur wie rufe ich dadurch den java TestDriver 4 auf? Ich habe in den FAQ nichts gefunden und auch keine Möglichkeit beim kompilieren gesehen, wo ich den java TestDriver 4 aufrufen könnte! Habe ich hier einfach ein völliges Blackout oder ist es gar nicht möglich den java TestDriver 4 aufzurufen? Denn dadurch sollte das Programm keine Exception mehr werfen und das Programm sollte korrekt kompilieren!
Herzlichen Dank für weitere Tips und Anregungen!
 

kwechsler

Mitglied
Aber Sportwagen ist doch eine Abstract class und kann bei der Class Porsche nur erweitert (extends) werden. Auto ist ein Interface und ist bei Sportwagen implementiert.

Mein wichtigstes anliegen ist immernoch ist es möglich den java Testdriver 4 per java Testdriver aufzurufen und wenn ja wie?
 
B

bygones

Gast
java TestDriver ist nicht kompilieren, sonder ausführen, das Programm aufrufen. Mit javac TestDriver.java kompilierst du.

rufst du einfach nur "java TestDriver" auf, so ergibt Integer.parseInt (args[0]) einen Fehler, da hier auf den ersten Parameter zugegriffen wird, der nicht existiert.

rufst du "java TestDriver 4" auf, so ergibt Integer.parseInt (args[0]) die Zahl 4 (weil 4 der erste Parameter ist) und das Programm läuft ohne Probleme durch.

d.h.

1. Konsole öffnen
2. kompilieren mit javac KLASSE.java
3. ausführen per java KLASSE [PARAMETER_LISTE]
 

SnooP

Top Contributor
Man sollte bei Programmen die Argumente beim Ausführen verlangen immer den Fall abfangen, dass kein Argument eingegeben wurde, z.B. mit einem:

Code:
if (args.length == 0)
   System.out.println("USAGE: java Testdriver <NUMBER_OF_CARS>");
else {
   //your stuff...
}

ich hoffe ich hab dich jetzt nicht falsch verstanden und java Testdriver 4 wirft keine (!) Exception.

Wenn doch - schreibe er nochmal die entsprechend als fehlerhaft markierte Zeile des Codes hier rein...
 
G

Gast

Gast
Hallo,

dein Konstruktor von Sportwagen ist fehlerhaft. Die Klasse kann damit nicht erstellt werden, weil du nicht definiert hast, wie Sportwagen initialisiert werden soll. Was soll der Konstruktor dort tun? Wie soll er die Klasse erstellen?

LG
 
B

bygones

Gast
Gast hat gesagt.:
dein Konstruktor von Sportwagen ist fehlerhaft. Die Klasse kann damit nicht erstellt werden, weil du nicht definiert hast, wie Sportwagen initialisiert werden soll. Was soll der Konstruktor dort tun? Wie soll er die Klasse erstellen?
unsinn - was soll daran falsch sein?
 

kwechsler

Mitglied
Herzlichen Dank an alle für eure Beiträge!
Es hat geklappt wie deathbyaclown in seinem Beitrag beschrieben hat:

1. Konsole öffnen
2. kompilieren mit javac KLASSE.java
3. ausführen per java KLASSE [PARAMETER_LISTE]

....hatte bisher noch nicht viel mit der Konsole direkt zu tun! Konstruktor von Sportwagen hat übrigens tiptop funktioniert.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Main Methode scheint Constructor aufzurufen, ohne dass es so gecoded ist Java Basics - Anfänger-Themen 2
N Throw an Main Methode übergeben Java Basics - Anfänger-Themen 7
J Die statische Main-Methode ändert Instanzvariable? Java Basics - Anfänger-Themen 10
D Array in Main Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 3
G jButton führt Main Methode nicht richtig aus Java Basics - Anfänger-Themen 3
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
C60 Methoden Main-Methode erkennt meine Arrays nicht. Java Basics - Anfänger-Themen 7
C Kein Zugriff auf Klassenmethoden in Main Methode Java Basics - Anfänger-Themen 23
N Wozu nutzt man in der Main Methode das args Array? Java Basics - Anfänger-Themen 10
H Warum kann man keine Parameter in die main-Methode packen? Java Basics - Anfänger-Themen 4
KogoroMori21 Methode in der main ausgeben Java Basics - Anfänger-Themen 2
s_1895 zu viele Zeilen in der Main Methode Java Basics - Anfänger-Themen 4
B Wie kann ich etwas vor der Main-Methode ausführen? Java Basics - Anfänger-Themen 21
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
G main Methode Java Basics - Anfänger-Themen 5
1 main-Methode erweitern, Nachfrage nach wiedeholung Java Basics - Anfänger-Themen 2
J main methode Java Basics - Anfänger-Themen 1
E Was kommt in ein Objekt und was in die Main Methode? Java Basics - Anfänger-Themen 8
D java main methode kann nicht kompiliert werden (Erstellen eines Objekts) Java Basics - Anfänger-Themen 6
M String außerhalb der main-Methode Java Basics - Anfänger-Themen 4
scratchy1 ArrayOutOfBoundException in main-Methode Java Basics - Anfänger-Themen 17
P Parameterübergabe, von Methode zu Methode zu main Java Basics - Anfänger-Themen 4
D Compiler-Fehler Aufrufen einer Methode von Main Java Basics - Anfänger-Themen 4
M Methode mit Array als Parameter an Main übergeben Java Basics - Anfänger-Themen 1
W Exception in Main abfangen oder in der Methode? Java Basics - Anfänger-Themen 10
J Timer bauen, Main Methode immer wieder neu starten Java Basics - Anfänger-Themen 13
M Maven Main-Methode Interface und Klasse Java Basics - Anfänger-Themen 2
G Instanzvariable in main-Methode verboten? Java Basics - Anfänger-Themen 3
M Objekt starten von der main-Methode Java Basics - Anfänger-Themen 1
A Methode aufrufen in main-Methode Java Basics - Anfänger-Themen 5
AssELAss Klassen Java Klasse in main-methode ausführen Java Basics - Anfänger-Themen 7
R Methoden Nicht statische Methode aus Main aufrufen Java Basics - Anfänger-Themen 2
J Methode in main-Methode aufrufen Java Basics - Anfänger-Themen 5
M Klassen Main Methode in einer anderen Klasse aufrufen Java Basics - Anfänger-Themen 13
TheMenox Methoden Auslagerung von Code aus der "main" Methode sinnvoll? Java Basics - Anfänger-Themen 70
S Methode auf Main zugreifen Java Basics - Anfänger-Themen 5
S Methoden main-Methode integrieren Java Basics - Anfänger-Themen 2
K Methoden Programm ohne Main Methode starten Java Basics - Anfänger-Themen 2
F Erste Schritte (Gelöst) Anfängerfrage Arraylist ausserhalb der Main Methode Java Basics - Anfänger-Themen 2
N Variablen Variable in Main deklarieren und in anderer Methode nutzen Java Basics - Anfänger-Themen 12
T Mehrere Methoden in der main-Methode verknüpfen und aufeinander anwenden Java Basics - Anfänger-Themen 2
A Methoden Zugriff auf eingelesene Variablen in der main Methode (ohne Änderung der Parameterliste) Java Basics - Anfänger-Themen 4
U Umschreiben ohne main methode ;-) Java Basics - Anfänger-Themen 8
A Fehlermeldung beim aufruf der main Methode Java Basics - Anfänger-Themen 17
F Threads Variable aus einem Thread in main Methode? Java Basics - Anfänger-Themen 9
B Java Programm ohne statische Main Methode aufrufen Java Basics - Anfänger-Themen 5
V Arrays aus eigener Klasse erstellt, zuweisung aber spuckt Fehler in verbindung mit main Methode aus. Java Basics - Anfänger-Themen 3
M Exception von main Methode weiterwerfen? Java Basics - Anfänger-Themen 1
D main-Methode und Tread parallel ausführen Java Basics - Anfänger-Themen 0
A Was stimmt mit Main-Methode nicht? Java Basics - Anfänger-Themen 4
T In main-Methode Parameter übergeben Java Basics - Anfänger-Themen 3
R Methoden Main-Methode verhält sich in .jar anders als in Eclipse Java Basics - Anfänger-Themen 2
P Verständnisproblem main Methode Java Basics - Anfänger-Themen 9
O Main-Methode static modifier umgehen Java Basics - Anfänger-Themen 10
P Verwirrung mit AWT Frame und main Methode Java Basics - Anfänger-Themen 19
T Threads Neuen Thread nicht aus main-Methode starten Java Basics - Anfänger-Themen 3
iB0T Main Methode Variablen übergeben Java Basics - Anfänger-Themen 6
H Applet - main()-Methode Java Basics - Anfänger-Themen 4
S Constructor und Main Methode Java Basics - Anfänger-Themen 3
N Methoden Main Methode Java Basics - Anfänger-Themen 7
B main methode ohne public Java Basics - Anfänger-Themen 5
E Methoden Methode in main-Methode ausführen Java Basics - Anfänger-Themen 3
R Fragen über Fragen, main-Methode und Co. Java Basics - Anfänger-Themen 32
1 Werte zur main Methode übergeben Java Basics - Anfänger-Themen 5
J Main-Methode Java Basics - Anfänger-Themen 14
B Erste Schritte ergebnis der funktion in der main-methode ausgeben Java Basics - Anfänger-Themen 7
T Klasse in Main Methode Java Basics - Anfänger-Themen 3
C Main Methode überschreibt Werte Java Basics - Anfänger-Themen 3
D Von einer Methode auf eine lokale Variable in der Main zugreifen? Java Basics - Anfänger-Themen 15
M andere Main Methode Java Basics - Anfänger-Themen 5
I Nur main-Methode über Konsole aufrufbar? Java Basics - Anfänger-Themen 3
J Programm in main Methode testen Java Basics - Anfänger-Themen 29
D Jar klappt nicht trotz main Methode Java Basics - Anfänger-Themen 19
D main Methode? Java Basics - Anfänger-Themen 19
M Main methode innerhalb von Java aufrufen Java Basics - Anfänger-Themen 11
M Frage zu main Methode Java Basics - Anfänger-Themen 11
B Problem bei dem erstellen einer Main Methode Java Basics - Anfänger-Themen 4
S Main Methode String... args Java Basics - Anfänger-Themen 2
S Main-Methode aus anderer Klasse heraus starten Java Basics - Anfänger-Themen 8
X Array von Methode in Main übergeben? Java Basics - Anfänger-Themen 11
G Immer mehr Threads beim Selbstaufruf der main-Methode Java Basics - Anfänger-Themen 3
K Variable von main- Methode in Untermethode "holen" Java Basics - Anfänger-Themen 3
A main Variable in Methode ansprechen Java Basics - Anfänger-Themen 4
T Datentypen Verständnisproblem mit main Methode Java Basics - Anfänger-Themen 3
Y Ergebnis einer Berechnung an die Main Methode übergeben Java Basics - Anfänger-Themen 11
N main Methode und String Java Basics - Anfänger-Themen 11
W Parameter für die main-Methode Java Basics - Anfänger-Themen 7
C Konstanten zu einfachen Berechnungen unterhalb Main Methode Java Basics - Anfänger-Themen 19
J arraylist ausserhalb der main Methode zugänglich machen (Elemente adden und updaten) Java Basics - Anfänger-Themen 4
A Fehlende Main-Methode? Java Basics - Anfänger-Themen 12
Z Funktionsaufruf in der main-Methode Java Basics - Anfänger-Themen 12
S Problem mit main Methode Java Basics - Anfänger-Themen 2
V Wofür steht das args / arguments in Main Methode Java Basics - Anfänger-Themen 4
I Fehlendes Argument in Main-Methode abfangen Java Basics - Anfänger-Themen 15
S main-Methode gibt unerwartetes Ergebnis aus Java Basics - Anfänger-Themen 4
M Parameter an main()-Methode Java Basics - Anfänger-Themen 6
M Unterschied main-Methode und Konstruktor Java Basics - Anfänger-Themen 13
Spin class und main Methode Java Basics - Anfänger-Themen 6
J unterprogramm in main-methode einbinden Java Basics - Anfänger-Themen 9
A Klassen: Ein Testprogramm mit der main Methode schreiben? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben