constructor cannot be applied...

.Liz.

Mitglied
Huhu,
Ich sitze gerade an meinen Informatik Hausaufgaben, und wir sollen eine Warteschlange mit einem Feld Programmieren. Klassen sind Datentyp (abstract), Schlange, und Kunde (Unterklasse von Datentyp).

Leider kann ich in Schlange aber keinen neuen Kunden für die Methode einfuegen erstellen, und ich finde einfach meinen Fehler nicht, bzw ich weiß nicht wie und wo ich Name und Vorname noch einbinden muss, damit es funktioniert. Die Fehlermeldung ist:
"constructor KUNDE in class KUNDE cannot be applied to given types;
required: java.lang.String; java.lang.String
found: no arguments
reason: actual and formal argument lists differ in length"



Java:
class SCHLANGE
{
   DATENELEMENT[]KUNDE;
   KUNDE[]elemente;
   int anzahl;

 
     SCHLANGE()
    {
        KUNDE[] elemente= new KUNDE [100];
    }

 
    void Einfuegen()
    {
      if (anzahl>100)
      {
          elemente[anzahl]=new KUNDE();
          anzahl=anzahl+1;
      }
    }
}

Java:
class KUNDE extends DATENELEMENT
{
  
    String name;
    String vorname;

  
  
    KUNDE(String name, String vorname)
    {
       this.name=name;
       this.vorname=vorname;
    }
}

Ich würde mich sehr über ein bisschen Hilfe freuen, leider habe ich die komplette 10. Klasse Informatik verpasst, und trotz nachholen sitzen einige Java Grundlagen bei mir einfach nicht so gut, wie sie sollten.
Liebe Grüße
Liz
 

Tarrew

Top Contributor
Dein Konstruktor in der Klasse "KUNDE" erwartet zwei Argumente:
Java:
    KUNDE(String name, String vorname)
    {
       this.name=name;
       this.vorname=vorname;
    }

Du erstellst deinen Kunden mit
Java:
  elemente[anzahl]=new KUNDE();
was nicht klappt, weil du die zwei Paramter "name" und "vorname" nicht mitgibst.

Was gehen würde ist zB.
Java:
  elemente[anzahl]=new KUNDE("Test1", "Test2");
 
X

Xyz1

Gast
Den weder Klassen- noch Variablennamen solltest du NICHT kapitalisieren, nebenbeibemerkt. Das macht man nur bei Konstanten.
 

Goldi

Aktives Mitglied
Halo Liz,
Dein Code wirkt insgesamt noch nicht ganz stimmig. Mal unabhängig von der Fehlermeldung:
1. Im Konstruktur von SCHLANGE() deklarierst Du die Variable "elemente" neu, indem Du erneut "KUNDE[]" voranstellst. Damit lebt "elemente" nur für diesen Konstruktor. Mit "elemente" aus den Membervariablen hat das nix zu tun. Meines Erachtens muss das führende "KUNDE[]" weggelassen werden, damit Du wirklich die Member-Variable ansprichst.
2. Das Array "DATENELEMENT[] KUNDE" wird im ganzen Code nicht weiter benötigt. Spielt die irgendwo in einem Code-Teil eine Rolle, den Du nicht gepostet hast? Gut, es stört jetzt den Rest nicht, bin mir nur nicht sicher, ob Dir bewusst ist, wozu das gut ist.
3. In der Methode "Einfuegen" dürftest Du Probleme mit der Member-Variablen "anzahl" haben, weil Du sie zwar dekalrierst, aber nicht initialisierst. Zu Deusch: Du musst Ihr auch einen Wert geben, bevor Du eine Bedingung drauf setzt oder sie in einem Ausdruck verwendest. Ersetze die Zeile "int anzahl;" also durch "int anzahl = 0;".
4. Dann glaube ich, dass die Bedingung falsch ist; es muss meines erachtens heißen: "if (anzahl < 100)", nicht "> 100". Denn das Array hat einen Indexbereich von 0 - 99, nicht darüber. anzahl muss also kleiner 100 sein.

Wenn Du magst, kannst Du mir Deine Aufgabenstellung aber einfach mal komplett posten, damit ich weiß, was genau gefordert ist, und dann kann ich Dir helfen, die Details zu klären ;-).
Herzlichen Gruß
Stefan
 

.Liz.

Mitglied
Guten Vormittag,
erst mal danke für die ganzen Antworten! Wie man sieht, hab ich leider noch nicht so viel Ahnung von Java, und dieses Jahr leider einen ziemlich schlechten Lehrer erwischt. Da scheinen ja etliche Fehler in meinem Code zu sein.

Was gehen würde ist zB.
Mein Ziel war es eigentlich, dass man die Methode aufruft, und dann, so wie es im Konstruktor steht, für jeden neuen Kunden extra name und vorname angeben kann. Geht das also so auf diese Weise nicht?

Den weder Klassen- noch Variablennamen solltest du NICHT kapitalisieren, nebenbeibemerkt. Das macht man nur bei Konstanten.
Ich verstehe ehrlich gesagt nicht, was du mir damit sagen willst. Meinst du damit, das Datenelement komplett groß geschrieben ist? Das ist ja die Oberklasse von Kunde. Oder dass ich Einfügen groß geschrieben habe? Es kann gut sein, dass das falsch ist, aber wir haben in der Schule gelernt, dass man Methoden mit Großbuchstaben am Anfang schreibt, also kann ich das bei meiner Hausaufgabe nicht einfach ändern, ohne dass meine Lehrer mir da einen Fehler drauf geben.

@Goldi
Wir haben leider nie eine konkrete Aufgabenstellung bekommen, die ich fotografieren und hochstellen könnte, unser Lehrer hat uns nur per Powerpoint ein Klassendiagramm von den jeweiligen Klassen gezeigt, und wir sollen das jetzt umsetzten. Aber zu den Klassendiagrammen:
Unsere 1. Klasse ist DATENELEMENT, sie ist abstrakt und enthält die ebenfalls abstrakte Methode Ausgeben. Die zweite Klasse ist KUNDE, Attribute sind String Name und String Vorname, und KUNDE erbt Ausgeben von DATENELEMENT. Die dritte Klasse ist SCHLANGE. Sie soll die Attribute DATENELEMENT[]elemente und int anzahl und die Methoden Einfuegen, Entfernen, AlleAusgeben und IstLeer enthalten. Er hat uns auch eine Musterlösung gezeigt, der Witz ist nur, seine Musterlösung hat auch nicht funktioniert, dementsprechend wenig Ahnung habe ich, wie ich das ganze überhaupt angehen soll.

Zu 1. und 2.: Das war mehr Verzweiflung, weil das DATENELEMENT[]elemente, das wir laut unserem Lehrer brauchen bei mir Anfang immer Probleme bereitet hat. Ich hab das aber in der Verbesserung, die unten kommt aber wieder dazu zurückgeändert. Und ja, ich habe absolut keine Ahnung, wozu ich das eigentlich in meinem Code benötige.

3. und 4. habe ich korrigiert, danke für den Hinweis, das ist mir selbst nicht aufgefallen.

Hier ist nochmal mein komplett vollständiger, und soweit ich es kann mit der (wenn auch nicht funktionierenden) Musterlösung meines Lehrers verbesserter Code. Er wirft jetzt zumindest keine Syntayfehler mehr aus, wenn ich auf Übersetzen klicke, und Ausgeben beim Kunde funktioniert auch. Jetzt kann ich aber leider keinen Kunden in meine Warteschlange hinzufügen, es kommt immer die Meldung
"java.lang.NullPointerException
at SCHLANGE.Einfuegen(SCHLANGE.java:19)"
Was habe ich denn falsch gemacht? Ich nehme an, es liegt an elemente[anzahl], liege ich da richtig? Aber was genau ist daran falsch und wie ließe es sich verbessern? Unser Lehrer hatte es uns auch in der Musterlösung so vorgegeben, er meinte, da soll am Ende dann ich glaube 'KUNDE[0]' für den ersten Kunden stehen, und dann immer so weiter, also der nächste wäre dann KUNDE[1]. Ich bin langsam ehrlich gesagt ein wenig verzweifelt, eigentlich wollte ich in Informatik Abitur schreiben, und jetzt komme ich nicht mal mit simpelstem Java zurecht. Wir sitzen schon seit drei Wochen an diesem Thema, und keiner hat bis jetzt eine Lösung :(

Java:
class SCHLANGE
{
   DATENELEMENT[]elemente;
   int anzahl=0;

 
     SCHLANGE()
    {
        DATENELEMENT[] elemente= new DATENELEMENT [100];
    }

 
    void Einfuegen(DATENELEMENT neuesObjekt)
    {
      if (anzahl<100)
      {
          elemente[anzahl]=neuesObjekt;
          anzahl=anzahl+1;
      }
    }
 
    void Entfernen()
    {
            if (anzahl>0)
            {
                anzahl=anzahl-1;
                for (int i=0;i<anzahl-1;i++)
               {
                    elemente[i]=elemente[i+1];
               }
                elemente[anzahl]=null;
            }
        }
 
    void AlleAusgeben()
    {
        for (int i=0; i<anzahl;i++)
        {
            elemente[i].Ausgeben();
        }
    }
 
    boolean IstLeer()
    {
      return (anzahl==0);
    }
}

Java:
abstract class DATENELEMENT
{
    abstract void Ausgeben();
}

Java:
class KUNDE extends DATENELEMENT
{
 
    String name;
    String vorname;

 
 
    KUNDE(String name, String vorname)
    {
       this.name=name;
       this.vorname=vorname;
    }
 
    public void Ausgeben()
    {
      System.out.print(name+" "+vorname);
    }
}
 
X

Xyz1

Gast
Ich verstehe ehrlich gesagt nicht, was du mir damit sagen willst. Meinst du damit, das Datenelement komplett groß geschrieben ist? Das ist ja die Oberklasse von Kunde. Oder dass ich Einfügen groß geschrieben habe? Es kann gut sein, dass das falsch ist, aber wir haben in der Schule gelernt, dass man Methoden mit Großbuchstaben am Anfang schreibt, also kann ich das bei meiner Hausaufgabe nicht einfach ändern, ohne dass meine Lehrer mir da einen Fehler drauf geben.

Die Lehrer? Vorhin war noch von einem Lehrer die Rede....
Klassennamen schreibt man im UpperCamelCase,
Variablennamen und Methodennamen schreibt man im lowerCamelCase,
Konstanten KAPITALISIERT man,
lokale vars.... genau wie Variablennamen,
Parameter.... auch.
 

.Liz.

Mitglied
Die Lehrer? Vorhin war noch von einem Lehrer die Rede....
Klassennamen schreibt man im UpperCamelCase,
Variablennamen und Methodennamen schreibt man im lowerCamelCase,
Konstanten KAPITALISIERT man,
lokale vars.... genau wie Variablennamen,
Parameter.... auch.
Ja, ich habe nur einen Lehrer. Ich saß ziemlich lange an dem Text da oben, also keine Ahnung, warum ich das in den Plural gestellt habe. Vermutlich, weil wir den Lehrer erst seit diesem Jahr haben, aber ich habe das System so ja schon viel früher bei ganz anderen Lehrern auch so verwendet und gelernt (logischerweise nicht in Java, sondern z.B. wenn wir Klassendiagramme entweder nur als Übung, oder für Robot Karol oder ähnliches geschrieben haben). Ich bin im naturwissenschaftlichen-technologischen Zweig, also hab ich ja schon seit der 6. Klasse durchgehend bis jetzt in die 11. Klasse Unterricht in dem Fach. Das ist ein wenig seltsam, das tut mir leid, aber ich bin kein Fake oder will mir hier nur ne Lösung erbetteln, falls du das denkst.. Ich möchte das wirklich verstehen und selber am Ende auch können, schließlich hab ich das Fach ja noch bis zum Ende der 12. und schreib auch noch Schulaufgaben darin.
Dann haben wir das offensichtlich falsch gelernt, danke fürs erklären, ich werd das berücksichtigen, falls ich irgednwann mal Lust und Zeit hab außerhalb der Schule an irgendwas zu programmieren. :)
Liebe Grüße
 

temi

Top Contributor
Er wirft jetzt zumindest keine Syntayfehler mehr aus, wenn ich auf Übersetzen klicke, und Ausgeben beim Kunde funktioniert auch. Jetzt kann ich aber leider keinen Kunden in meine Warteschlange hinzufügen, es kommt immer die Meldung
"java.lang.NullPointerException
at SCHLANGE.Einfuegen(SCHLANGE.java:19)"
Was habe ich denn falsch gemacht?
Wo ist denn deine main()? Also die Stelle, wo du eine Instanz von SCHLANGE erzeugst und KUNDEN einfügen möchtest?
 

.Liz.

Mitglied
Wo ist denn deine main()? Also die Stelle, wo du eine Instanz von SCHLANGE erzeugst und KUNDEN einfügen möchtest?
Wir haben bis jetzt noch nie sowas benutzt. Wir arbeiten in BlueJ, falls das wichtig ist. Ich klicke einfach rechts auf SCHLANGE, lasse ein neues Objekt erstellen, klicke dann rechts auf KUNDE, lasse da ein neues Objekt erstellen, klicke dann wieder auf SCHLANGE rechts, führe Einfuegen() aus, und gebe da den Objektnamen des neuen Kunden ein. Ich nehme mal an, das ist dann falsch, oder?
 

temi

Top Contributor
Vermutlich, weil wir den Lehrer erst seit diesem Jahr haben, aber ich habe das System so ja schon viel früher bei ganz anderen Lehrern auch so verwendet und gelernt
Das ist ziemlich schade. Es gibt Java-Konventionen. Die sind zwar nicht verpflichtend, aber es ist dennoch sinnvoll sich daran zu halten und man sollte ihn (den Lehrer) auch mal darauf ansprechen. Es gibt Sachen, die man sich gar nicht erst angewöhnen sollte.

Wir haben bis jetzt noch nie sowas benutzt.
Das finde ich ehrlich gesagt erschreckend. So kann man doch nicht programmieren lernen. Klingt so, als könntest du den Unterricht in die Tonne treten. Solltest du tatsächliches Interesse an Informatik und Programmieren haben, dann würde ich mich privat mal nach was Sinnvollem umschauen. Das ist jetzt allerdings meine Meinung.
 
Zuletzt bearbeitet:

temi

Top Contributor
das DATENELEMENT[]elemente, das wir laut unserem Lehrer brauchen bei mir Anfang immer Probleme bereitet hat. Ich hab das aber in der Verbesserung, die unten kommt aber wieder dazu zurückgeändert. Und ja, ich habe absolut keine Ahnung, wozu ich das eigentlich in meinem Code benötige.
SCHLANGE soll eine Art "Speicher" darstellen, in dem du mehrere Elemente vom Typ KUNDE speichern kannst. Intern wird dieser "Speicher" durch das Array "elemente" (vom Typ DATENELEMENT) realisiert. Das ist die Variable in dem alle Kunden gespeichert werden.

Die dritte Klasse ist SCHLANGE. Sie soll die Attribute DATENELEMENT[]elemente und int anzahl und die Methoden Einfuegen, Entfernen, AlleAusgeben und IstLeer enthalten.

Eine SCHLANGE (eng. Queue) ist ein FIFO (First in - First out = das erste Element, das darin gespeichert wird, ist auch das erste das wieder entfernt wird). Demnach sollte die Methode "Entfernen()" vermutlich das zu erst eingefügte Element entfernen und sinnvollerweise auch ausgeben. Die korrekte Signatur wäre also:
DATENELEMENT Entfernen() // Rückgabewert!
 
X

Xyz1

Gast
Ja - dann mach das doch so....
Aber es ist okay, Deinem Lehrer einen kleinen Hinweis zu geben dass es Konventionen für Benennung der Member gibt....
Dadurch wird er Dir nicht den Kopf abreißen.... konstruktive Kritik ist das Zauberwort
BlueJ - finde ich nebenbeibemerkt für den Anfang nicht schlecht.... man erstellt Klassen dann zu anderen Klassen Verbindungen und dann legt man Objekte(Instanzen) dieser Klassen an und kann diese wiederum anderen Klassen geben.
Soooo nun zurück zu dem Thema.
falsch
falsch
falsch
 

Goldi

Aktives Mitglied
Guten Vormittag,
Hier ist nochmal mein komplett vollständiger, und soweit ich es kann mit der (wenn auch nicht funktionierenden) Musterlösung meines Lehrers verbesserter Code. [...] Jetzt kann ich aber leider keinen Kunden in meine Warteschlange hinzufügen, es kommt immer die Meldung
"java.lang.NullPointerException
at SCHLANGE.Einfuegen(SCHLANGE.java:19)"
Was habe ich denn falsch gemacht?

Jetzt mal eine etwas positivere Nachricht: An Deinem Code ist nur noch eine Kleinigkeit verkehrt. Wenn Du Die ausbesserst, geht's:

Java:
SCHLANGE()
    {
        elemente= new DATENELEMENT [100];
       // alter Code: DATENELEMENT[] elemente = ... ist falsch. Die Dekalration "DATENELEMENT[]"
       // muss einfach nur weg, dann funktionierts.
    }

Wenn Du vor einer Variablen einen Datentyp angibst, ist das immer eine neue Deklaration. Deine Anweisung:
Java:
DATENELEMENT[] elemente = DATENELEMENT[100]
ruft also eine völlig neue Variable ins Leben, die nur genau so heißt, wie die Member-Variable "elemente". Die Methode "Einfuegen()" greift aber auf die richtige Member-Variable zu, die dann immer noch nicht deklariert ist und es deshalb eine NullPointerException wirft. Wenn Du im Konstruktor also die Membervariable initialisieren willst (ihr also einen ersten (initialen) Wert zuweisen willst), dann lass die Deklaration weg und schreibe einfach nur:
Java:
elemente = new DATENELEMENT[100];
Wenn Du es für Dich noch besser lesbar machen willst, schreibe folgendes:
Java:
this.elemente = new DATENELEMENT[100];
"this" verweist an der Stelle auf die eigene Klasse. "this.elemente" heißt dann so viel wie: Membervariable "elemente" dieser Klasse. Das kommt in Konstruktoren öfter vor, weil man gern die Parameter in den Konstruktoren gleich benennt wie die Membervariable - aber das ist jetzt eine andere Baustelle. Man muss sich an der Stelle einfach davon lösen, dass etwas, was gleich heißt, nicht das gleiche sein muss. Empfehlung: Lies in einem Java-Buch mal nach über Lebensdauer/Sichtbarkeit von Variablen.
Was ich noch habe ist dann nur noch für den Schönheitspreis:
Java:
public void Ausgeben()
        {
          System.out.println(name+" "+vorname);
        }
Ich habe nur eins gemacht: Ich habe "print" durch "println" ersetzt. Das schreibt jeden neuen Namen in eine neue Zeile, anstatt sie ohne Trennung in einer Zeile aneinander zu kleben. Das sähe mit "print" eben so aus: Müller LischenMaier HansMustermann Jakob.
Abschließend kann ich mich den Vorrednern anschließen:
  • Die Schreibweisen in Java sind eigentlich schon wichtig, um die Lesbarkeit von Programmen zu verbessern, insbesondere dann, wenn mehr Leute an einem Programm arbeiten, wie es im professionellen Bereich ja eher Usus ist. Siehe hierzu: https://de.wikibooks.org/wiki/Java_Standard:_Variablen_und_Bezeichner. Andererseits mag Euer Lehrer da einen pädagogischen Nutzen darin sehen, jetzt das erst mal so zu machen, um später auf das Thema Namenskonventionen einzugehen. Frag ihn doch einfach mal.
  • Schnapp Dir mal ein Java Buch, z. B. "Java ist auch eine Insel". Das ist ein mächtig dicker Schinken, aber Du musst ja nicht gleich die Reflection-API beherrschen. Schau Dir da einfach mal die Grundlagen über Ausdrücke, Bezeichner usw. und vor allem über das Prinzip der objektorientierten Programmierung an.
  • Soviel in Kürze zu Deinem Code: Klassen sind Baupläne, Objekte konkrete, benutzbare "Gegenstände", die nach diesen Bauplänen gefertigt sind. In Java heißen diese konkreten "Gegenstände" Instanzen (Objekte) einer bestimmten Klasse (Bauplan). Abstrakte Klassen sind solche Baupläne, aus denen man nicht direkt etwas buen kann. Beispiel: Ein Auto würde ich als abstrakte Klasse anlegen: "abstract class Auto". Sie schreibt vor, dass jede Klasse, die von "Auto" erbt mindestens eine Methode "fahren()" haben muss, wie auch immer sie das dann umsetzt. BMW wiederum hat konkrete Baupläne für einen 3er BMW, die Klasse heißt dann: "class BmwDreier extends Auto", erbt also von der Auto-Klasse und muss die Methode "fahren()" konkret umsetzen. Aber BmwDreier ist immer noch nur ein Bauplan. Am Werksband hinten kommt dann irgendwann ein nach diesem Bauplan gefertigter 3er-BMW raus: Die Instanz oder das Objekt das ich der Variablen meinBmwDreier zuweise, etwa so:
Java:
BmwDreier meinBmwDreier; //Deklaration
meinBmwDreier = new BmwDreier(); // Initialiseirung
Oder alles in einer Zeile:
Java:
BmwDreier meinBmwDreier = new BmwDreier(); // Deklaration und Initialisierung in einem
So jetzt hör ich auf zu lehrmeistern. Ich hoffe, ich konnte ein bisschen auch grundsätzlich zur Klärung beitragen.
Herzlichen Gruß
Goldi
 
Zuletzt bearbeitet:

.Liz.

Mitglied
Guten Morgen,
danke erst mal für die vielen Antworten, jetzt funkioniert meine Warteschlange endlich wie sie soll! Alleine hätte ich das nie so problemlos geschafft.

@temi
Vielen Dank für deine ausführlichen Antworten vom dir, da ist mir einiges genauer klar geworden. Ja, nach Unterricht/Nachhilfe in Java, bzw Informatik allgemein suche ich schon länger, allein schon weil ich das ja evtl nach dem Abitur auch studieren will, ist nur leider relativ schwer zu finden, zumindest bei mir in der Gegend. Aber Goldi hat mir ja ein Buch empfohlen, das werde ich mir definitiv besorgen, und hoffentlich lern ich dann auch mal etwas mehr. Ich hab ja anscheinend sogar noch weniger Ahnung als ich dachte. ^^"

@Goldi
Vielen vielen Dank, auch für die ausführlichen und doofensicheren Erklärungen. Jetzt funktioniert endlich alles so wie es soll - du willst nicht zufällig unsere Informatikklasse übernehmen? Wir sind auch nur 10 Schülerinnen und alle ganz nett und brav! :D Das Buch werd ich mir auch so bald wie möglich besorgen, dann muss ich euch auch hoffentlich so bald nicht mehr um Hilfe fragen.
 

Goldi

Aktives Mitglied
Zuviel der Ehre, aber freut mich, wenn ich Dir helfen konnte. Mach Dich mal nicht so klein. Ich kann nur für mich sprechen: Es freut mich, wenn ich helfen kann, d. h.: Wenn Du eine Frage hast, "belästige" mindestens mich gern, im Zweifel mit einer privaten Nachricht. Ich glaub, das geht hier mit Klick auf "Goldi" und "private Unterhaltung beginnen" oder sowas. Wenn's Dir nicht schon zu viel Gelaber ist: Ich hab da sogar noch ein Muster-Paket "autos", das das Prinzip von objektorientierter Programmierung anhand eines konkreten Programmcodes mit Auto-Klassen, BMW-Klassen und einer Parkhaus-Klasse erläutert, also das Ganze mit Bildern aus dem Leben zu illustrieren versucht. Wenn's Dich interessiert, gib einfach Bescheid.
Alles Gute derweil und herzlichen Gruß
Goldi
 

.Liz.

Mitglied
Huhu ihr,
@temi
Vielen Dank für den Hinweis mit dem Buch, das ist perfekt, dann kann ich es über mein Handy überall mit hin nehmen und muss nicht einmal was dafür zahlen.
@Goldi
Vielen lieben Dank, das ist ein nettes Angebot. Das ganze klingt echt gut, und so, als würde es mir helfen, das ganze besser zu verstehen, ich würd mich sehr freuen, wenn du mir den Code dazu per PN schicken könntest. :)

@DerWissende
Auch dir vielen Dank für das Angebot.

So, hier nun mein veränderter Code. Der Einfachheit wegen poste ich nur noch Schlange neu, in Datenelement hat sich gar nichts geändert, und in Kunde habe ich nur das System.out.print zu System.out.println geändert. Mag vielleicht nicht die schönste Lösung sein, gerade bei entfernen, aber funktioniert so, und mehr will ich ja für den Moment nicht. :)
Java:
class SCHLANGE
{
   DATENELEMENT[]elemente;
   int anzahl=0;

  
     SCHLANGE()
    {
        elemente= new DATENELEMENT [100];
    }

  
    void Einfuegen(DATENELEMENT neuesObjekt)
    {
      if (anzahl<100)
      {
          elemente[anzahl]=neuesObjekt;
          anzahl=anzahl+1;
      }
    }
   
    DATENELEMENT Entfernen()
    {
            DATENELEMENT ergebnis=elemente[0];
            if (anzahl>0)
            {
                for (int i=0;i<anzahl-1;i++)
               {
                    elemente[i]=elemente[i+1];
               }
               anzahl=anzahl-1;
               elemente[anzahl]=null;
            }
            return ergebnis;
        }
   
    void AlleAusgeben()
    {
        for (int i=0; i<anzahl;i++)
        {
            elemente[i].Ausgeben();
        }
        System.out.println("-----");
    }
   
    boolean IstLeer()
    {
      return (anzahl==0);
    }
}
Wir müssen nun übrigens auch noch eine art main schreiben, falls ich richtig verstanden habe, wozu man die braucht, allerdings heißt sie bei uns Testklasse Arbeit. Noch wirft sie mir nur Fehlermeldungen aus, aber ich hab noch Hoffnung, das ich das alleine hinkriege, so lange hab ich mich damit noch nicht beschäftigt, und dafür gibt es ja gute Erklärungen.
Liebe Grüße
 

Goldi

Aktives Mitglied
Hi .Liz.!
Sorry, jetzt hat's etwas gedauert - bin ein gestresster Binkel. Und mit dem Datei hochladen in der PN habe ich mich auch angestellt, also jetzt einfach offiziell über das Forum:
Ich habe Dir ein JAR-Archiv zusammengepackt, das Du irgendwoe entpacken solltest. Gehe dann in den Ordner Dokumentation und öffne index.html. Fang unten zu lesen an bei "Package auto Description". Diese HTML-Doku ist schöner zu lesen, aber sehr wichtige Informationen befinden sich auch im Programmcode selbst. Deshalb schau auch in die einzelnen Source-Dateien (die mit der Endung .java im Ordner auto). Wenn Du Fragen hast, melde Dich einfach. Ich hoffe, das hilft Dir etwas - mein Geschreibsel versteht nicht jeder - also verzweifle nicht, im Zweifel lag's an mir ;-).
Herzlichen Gruß
Stefan
 

Anhänge

  • autos.jar
    47,8 KB · Aufrufe: 1
X

Xyz1

Gast
Schnell mal Video verschwinden lassen :D da der werte Zuseher eh alle schlecht bewertet hat ist das ja nicht weiter schlimm....
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Vererbung - Cannot Find Symbol constructor... Java Basics - Anfänger-Themen 11
S cannot find symbol, symbol: constructor Java Basics - Anfänger-Themen 2
T Cannot refer to an instance field xxx while explicitly invoking a constructor Java Basics - Anfänger-Themen 14
S Problem beim Kompilieren - cannot find symbol - constructor() Java Basics - Anfänger-Themen 12
P Main Methode scheint Constructor aufzurufen, ohne dass es so gecoded ist Java Basics - Anfänger-Themen 2
Fiedelbambu Exception in Application constructor Java Basics - Anfänger-Themen 3
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
M "Class<T> clazz" im Constructor - auch für int möglich? Java Basics - Anfänger-Themen 7
U Interface | constructor injection Java Basics - Anfänger-Themen 5
R Compiler-Fehler JTable mit XML befüllen | The constructor JTable(Object[], String[]) is undefined Java Basics - Anfänger-Themen 10
S Copy - Constructor vs clone() Java Basics - Anfänger-Themen 20
F The constructor Vehikel(String, int) is undefined warum?? Java Basics - Anfänger-Themen 4
L Constructor is undefined Java Basics - Anfänger-Themen 4
Syncopated Pandemonium Compiler-Fehler The constructor MP3File(File) refers to the missing type NoMPEGFramesException Java Basics - Anfänger-Themen 7
S CSVReader funktioniert nicht ---- The Constructor CSVReader(String) is undefined Java Basics - Anfänger-Themen 4
S The constructor File(URL) is undefined Java Basics - Anfänger-Themen 10
N Klassen constructor Rückgabewert Java Basics - Anfänger-Themen 10
S Constructor und Main Methode Java Basics - Anfänger-Themen 3
B Copy-Constructor Java Basics - Anfänger-Themen 6
L Erste Schritte Super Constructor mit Array - Liste? Java Basics - Anfänger-Themen 15
M Was macht bzw. was bringt ein constructor? Java Basics - Anfänger-Themen 12
W Default Constructor Java Basics - Anfänger-Themen 4
H OOP java.sql.Date does not have a no-arg default constructor Java Basics - Anfänger-Themen 2
S Array of objects und ständige Constructor-Aufrufe Java Basics - Anfänger-Themen 4
D Unhandled Exception type IOException in Constructor Java Basics - Anfänger-Themen 1
D The constructor Bestellung(Bestellung.Produkt, Bestellung.Kunde) is undefined Java Basics - Anfänger-Themen 15
B Im Constructor anderen Constructor aufrufen Java Basics - Anfänger-Themen 13
U Implementierung Constructor Java Basics - Anfänger-Themen 7
J Hilfe mit Constructor Java Basics - Anfänger-Themen 3
G The constructor is ambiguous Java Basics - Anfänger-Themen 1
S BufferedWriter undefined constructor Java Basics - Anfänger-Themen 5
I call to super must be first statement in constructor Java Basics - Anfänger-Themen 3
C Ein letzter Fehler mit dem Constructor ! Java Basics - Anfänger-Themen 17
G Constructor & Graphics g Java Basics - Anfänger-Themen 5
N Constructor.isSynthetic() Java Basics - Anfänger-Themen 4
V Problem mit Symbol constructor Java Basics - Anfänger-Themen 5
G constructor auflösen? Java Basics - Anfänger-Themen 10
W Cannot find Symbol Java Basics - Anfänger-Themen 5
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
D Cannot find JUnit.framework Java Basics - Anfänger-Themen 1
W Cannot resolve symbol 'HttpServlet' Java Basics - Anfänger-Themen 2
I JSON - cannot deserialize from Object value Java Basics - Anfänger-Themen 16
J Scanner cannot be resolved to a type Java Basics - Anfänger-Themen 3
N Fehler "Cannot instantiate the type" Java Basics - Anfänger-Themen 3
jakobfritzz Array- cannot invoke "" because "" is null Java Basics - Anfänger-Themen 4
Flo :3 Variablen Type dismatch: cannot convert from string to int Java Basics - Anfänger-Themen 9
C system cannot be resolved Fehler in Eclipse Java Basics - Anfänger-Themen 18
V ClientProtocolException cannot be resolved Java Basics - Anfänger-Themen 6
A Cannot find symbol mit Konstruktoren Java Basics - Anfänger-Themen 27
A Cannot find symbol bei exceptions Java Basics - Anfänger-Themen 2
J The import org.bukkit cannot be resolved Java Basics - Anfänger-Themen 3
J Fehlermeldung unklar. non-static variable player0 cannot be referenced from a static context Java Basics - Anfänger-Themen 4
P non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 6
L cannot find symbol variable Kon Java Basics - Anfänger-Themen 8
F Erste Schritte error: cannot find symbol Java Basics - Anfänger-Themen 5
M Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 10
P a cannot be resolved bei einer do while Schleife Java Basics - Anfänger-Themen 1
R return: cannot find symbol Java Basics - Anfänger-Themen 2
L Bluej Error: Cannot find Symbol Java Basics - Anfänger-Themen 13
Aprendiendo Interpreter-Fehler "non-static variable this cannot be referenced from a static context" Java Basics - Anfänger-Themen 2
M Iterator cannot refer to a non final... Java Basics - Anfänger-Themen 20
S Cannot find symbol (symbol ist eine Variable) Java Basics - Anfänger-Themen 13
N Cannot find symbol Java Basics - Anfänger-Themen 18
T Error: int cannot be dereferenced Java Basics - Anfänger-Themen 10
J JLabel cannot be resolved Java Basics - Anfänger-Themen 8
H Variablen error: non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 4
P Cannot find symbol, wieso? Java Basics - Anfänger-Themen 5
UnityFriday method getPrevious in class List<ContentType> cannot be applied to given types Java Basics - Anfänger-Themen 29
M Erste Schritte cannot find symbol - Probleme mit Klassen Java Basics - Anfänger-Themen 6
B OOP next cannot be resolved or is not a field Java Basics - Anfänger-Themen 6
B OOP Cannot instantiate the type AuDList<Integer> Java Basics - Anfänger-Themen 18
U Erste Schritte cannot be referenced from a static context Java Basics - Anfänger-Themen 1
J Error: cannot find symbol - variable Java Basics - Anfänger-Themen 3
D Java Eclipse cannot be cast to java.awt.event.ItemListener Java Basics - Anfänger-Themen 3
F Erste Schritte parseint: cannot find symbol Java Basics - Anfänger-Themen 6
J Fehlermeldung : cannot invoke char(at) int on the primitive type int --- Anfänger Java Basics - Anfänger-Themen 5
M Erste Schritte [Variable] cannot be resolved to a variable Java Basics - Anfänger-Themen 4
M The Selection cannot be launched... Java Basics - Anfänger-Themen 4
D error: cannot find symbol Java Basics - Anfänger-Themen 3
B Frage zu Beispielprogramm: "error: cannot find symbol" Java Basics - Anfänger-Themen 2
M Methoden Cannot be resolved to a variable Java Basics - Anfänger-Themen 5
BlueMountain Erste Schritte error: cannot find symbol Java Basics - Anfänger-Themen 2
P enum: cannot be resolved to a type Java Basics - Anfänger-Themen 2
W Compiler-Fehler "non-static method cannot be referenced"-Problem Java Basics - Anfänger-Themen 6
L Error: Cannot find symbol Java Basics - Anfänger-Themen 1
W int cannot be dereferenced Java Basics - Anfänger-Themen 5
P Cannot find Symbol Java Basics - Anfänger-Themen 3
K Compiler-Fehler Button cannot be resolved or is not a field Java Basics - Anfänger-Themen 6
F Methoden Cannot refer to a non-final variable.. verständnisproblem. Java Basics - Anfänger-Themen 7
A Cannot make a static reference to the non-static field Java Basics - Anfänger-Themen 6
K The Java Runtime Environment cannot be found. Java Basics - Anfänger-Themen 6
F Input/Output IOTools Fehlermeldung: cannot be resolved Java Basics - Anfänger-Themen 16
L Cannot Find Symbol - Was soll denn das bedeuten?!? Java Basics - Anfänger-Themen 7
P StdIn.readDouble: cannot find symbol Java Basics - Anfänger-Themen 7
B Fehler "Cannot find symbol - variable number1" Java Basics - Anfänger-Themen 13
P Variablen Cannot be resolved to a variable Java Basics - Anfänger-Themen 8
B Compiler-Fehler cannot find symbol Java Basics - Anfänger-Themen 6
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4
M Methoden "Non-static method xy cannot be referenced from a static context" Java Basics - Anfänger-Themen 20
T Cannot convert from Integer to int Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben