Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hey,

ich muss bis nächste Woche ein kleines Java-Programm schreiben, hab es auch fast fertig, nur es tauchen noch folgende beiden Fehlermeldungen auf:


Buckets.java:13:  expected

    ArrayList > B = new ArrayList();

              ^


Liste.java:11:  expected

    ArrayList  L = new ArrayList();

              ^

2 errors
Die entsprechenden beiden Zeilen im Quelltext lauten:

Buckets:13:   ArrayList <ArrayList <Knoten>> B = new ArrayList();

Liste:11:        ArrayList <Knoten> L = new ArrayList();

Ich kann absolut nicht verstehen, was an diesen beiden Zeilen falsch sein soll :(

Es werden ja ganz normal zwei ArrayLists initialisiert. Und Elemente vom Typ Knoten sind durch die Klasse "Knoten.java" mit einen ganz normalen Konstruktor definiert.

Wäre super, wenn mir jemand von euch helfen könnte.

Vielen Dank schon mal!

Also zum einen muss das doch eigentlich folgendermaßen lauten:


Buckets:13:   ArrayList<ArrayList<Knoten>> B = new ArrayList<ArrayList<Knoten>> ();

Liste:11:        ArrayList<Knoten> L = new ArrayList<Knoten>();


Und zum anderen, verwendest du auch wirklich mindestens Java 1.5?

Mag ja sein dass es die ArrayList schon seit Java 1.2 gibt, trotzdem wurden die Generics erst mit Java 1.5 eingefügt.....das heißt, alles darunter versteht die Syntax nicht. Wobei ich aber nicht weiß wie die Fehlermeldung dann lautet.

Ich denke aber mal, seine Fehlermeldung entsteht dadurch, dass er zu viele Leerzeichen gesetzt hat.

Schon mal Danke für eure Antworten!

Hmm... ja... ich benutzte Java 1.6.

Hab's auch mal mit weniger Leerzeichen ausprobiert, aber dann kommt leider genau dieselbe Fehlermeldung.

Hast du denn die Erklärungen gelesen? Es liegt nicht an Leerzeichen, sondern dass du die in der ArrayList gehalten Objekte rechts der Klammer nochmal spezifizieren musst:


ArrayList<String> stringListe = new ArrayList[U]<String>[/U]();

Jep, hab ich gelesen. Danke.

Hab das auch mal ausprobiert, dass ich das rechts vom Gleichheitszeichen nochmal spezifiziere. Aber dann hab ich leider immer noch die beiden Fehlermeldungen und noch zwei zusätzliche Fehlermeldungen, weil noch zwei zusätzliche "<" und ">" auftauchen.

Jep, hab ich gelesen. Danke.

Hab das auch mal ausprobiert, dass ich das rechts vom Gleichheitszeichen nochmal spezifiziere. Aber dann hab ich leider immer noch die beiden Fehlermeldungen und noch zwei zusätzliche Fehlermeldungen, weil noch zwei zusätzliche "<" und ">" auftauchen.

Entweder hast du irgendwo ein Semikolon vergessen oder du benutzt Java 1.4

Stell doch mal hier die Klasse mit der komischen ArrayList hin.

Ist echt super, wie ihr euch alle bemüht. Danke!

Also aktuell sieht der Code folgendermaßen aus:

In Buckets.java steht:


import java.util.*;


public class Buckets  implements Datenstruktur {


...


//Deklarationen

...

    final ArrayList<ArrayList<Knoten>> B = new ArrayList<ArrayList<Knoten>>();


//Standardkonstruktor

	Buckets(){

	}


...
Und in Liste.java steht:

import java.util.*;

public class Liste implements Datenstruktur {


//Deklarationen

...

    final ArrayList<Knoten> L = new ArrayList<Knoten>();


//Standardkonstruktor

    Liste(){

    }

...

Und die Fehlermeldung lautet folgendermaßen:
Java/Buckets.java:13:  expected

    final ArrayList> B = new ArrayList>();

                   ^

Java/Liste.java:11:  expected

    final ArrayList L = new ArrayList();

                   ^

2 errors

Ich hab Java 6 (JRE 1.6.0_07)

Knoten sieht so aus:

public class Knoten

{

int knotennummer;


...


    //Standardkonstruktor

	public Knoten(){

    }

	//Konstruktor, der die Knotennummer setzt

	public Knoten(int i){

		this.knotennummer = i;

	}


...

}


Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.