Hallo,
in meinem Anfängerbuch habe ich einen Code abgetippt für eine Fahrzeugverwaltung. Nun soll ein Aufruf zum Sortieren eingebunden werden. Lt. Buch soll dieser in die Methode neuesAuto() eingebunden werden. Allerdings bekomme ich andauernd beim Kompilieren Fehlermeldungen, egal, wo ich den Code in die Methode einbaue. Kann mir hier jemand weiterhelfen? Wo muss der sortier-Aufruf eingefügt werden? Versucht habe ich das Einfügen in jeder Zeile zwischen 74 und 87. Beginnt denn die neuesAuto Methode () in 73? Oder habe ich da schon einen Verständnis-Fehler?
Funktionierender code:
sortier-Aufruf:
Fehlermeldung:
C:\Users\Clou\Office\Java\MeineKlassen\CarControl.java:75: illegal start of expression
static void sortieren(int autoNr) {
^
C:\Users\Clou\Office\Java\MeineKlassen\CarControl.java:75: illegal start of expression
static void sortieren(int autoNr) {
^
C:\Users\Clou\Office\Java\MeineKlassen\CarControl.java:75: ';' expected
static void sortieren(int autoNr) {
^
C:\Users\Clou\Office\Java\MeineKlassen\CarControl.java:75: ';' expected
static void sortieren(int autoNr) {
^
4 errors
Prozess beendet mit Exit-Code 1
in meinem Anfängerbuch habe ich einen Code abgetippt für eine Fahrzeugverwaltung. Nun soll ein Aufruf zum Sortieren eingebunden werden. Lt. Buch soll dieser in die Methode neuesAuto() eingebunden werden. Allerdings bekomme ich andauernd beim Kompilieren Fehlermeldungen, egal, wo ich den Code in die Methode einbaue. Kann mir hier jemand weiterhelfen? Wo muss der sortier-Aufruf eingefügt werden? Versucht habe ich das Einfügen in jeder Zeile zwischen 74 und 87. Beginnt denn die neuesAuto Methode () in 73? Oder habe ich da schon einen Verständnis-Fehler?
Funktionierender code:
Java:
// Diese Klasse ist der Kern der Anwendung
// Sie wird der VM zum Start übergeben
import java.util.Scanner;
import fahrzeug.Auto;
public class CarControl {
static int anzAutos = 0;
static final int AUTO_MAX = 50;
static Auto[] autoListe = new Auto[AUTO_MAX];
public static void main(String [] argument) {
boolean ende = false;
do {
System.out.println("\nCarControl - die " +
"objektorientierte Fahrzeugverwaltung");
System.out.println("================="
+ "====================================");
System.out.println("\nHauptmenue");
System.out.println("\n(1) Autos anzeigen");
System.out.println("(2) Neues Auto");
System.out.println("\n(0) Programm beenden");
try {
// versuchen, die Benutzereingabe zu lesen
System.out.print("\nAuswahl: ");
Scanner eingabe = new Scanner(System.in);
short auswahl = eingabe.nextShort();
// Benutzereingabe verarbeiten
switch (auswahl) {
case 1:
listeAnzeigen(anzAutos);
break;
case 2:
if (anzAutos<AUTO_MAX && anzAutos>=0) {
anzAutos = neuesAuto(anzAutos); // Seite 213 + 215
} else {
System.out.println("Die Autoliste ist voll!");
}
break;
case 0:
System.out.println("\nBis bald...");
ende = true;
break;
default:
System.out.println("\nFalsche Auswahl!");
}
if (auswahl == 0) {
ende = true;
}
} catch (Exception e) {
// Falsche Eingabe?
System.out.println("Nur ZAHLEN!");
}
} while (!ende);
}
// Seite 218
static void listeAnzeigen(int autoNr) {
System.out.println("\nAuto Liste");
System.out.println("==========\n");
for (int i = 0; i < autoNr; i++) {
System.out.println((i + 1) + ") ");
System.out.println(
autoListe[i].listEintrag());
}
}
// Ende Seite 218
// Seite 209
static int neuesAuto(int autoNr) {
System.out.println("\nNeues Auto eingeben");
System.out.println("===================");
autoListe[autoNr] = new Auto();
while (autoListe[autoNr].eingeben() == false) { // oder: while (!autoListe[autoNr].eingeben()) {
System.out.println("Fehlerhafte Eingabe");
}
System.out.println("Neues Auto angelegt.");
//System.out.println("Bisher gibt es " + anzAutos + " Autos.");
return (autoNr + 1);
}
// Ende Seite 209
}
sortier-Aufruf:
Java:
static void sortieren(int autoNr) {
Auto puffer;
for (int lauf = 0; lauf < autoNr; lauf++) {
for (int pos = 0; pos < autoNr - 1; pos++) {
if (autoListe[pos].listEintrag().compareTo(
autoListe[pos + 1].listEintrag()) > 0) {
puffer = autoListe[pos];
autoListe[pos] = autoListe[pos + 1];
autoListe[pos + 1] = puffer;
}
}
}
}
Fehlermeldung:
C:\Users\Clou\Office\Java\MeineKlassen\CarControl.java:75: illegal start of expression
static void sortieren(int autoNr) {
^
C:\Users\Clou\Office\Java\MeineKlassen\CarControl.java:75: illegal start of expression
static void sortieren(int autoNr) {
^
C:\Users\Clou\Office\Java\MeineKlassen\CarControl.java:75: ';' expected
static void sortieren(int autoNr) {
^
C:\Users\Clou\Office\Java\MeineKlassen\CarControl.java:75: ';' expected
static void sortieren(int autoNr) {
^
4 errors
Prozess beendet mit Exit-Code 1