Zum Inhalt springen

Klassenvariable bei Array ? Wie gehts ?


JayD2008

Empfohlene Beiträge

Hallo jungs,

ich grünschnabel steh mal wieder total auf dem schlau.

class Keks {


public static void main(String[] args) { 


// Erzeugen Sie ein Objekt der Klasse Keksdose der Kapazitaet 3 


String[] Sorte = new String[3]; 

// Fuegen Sie drei Kekse zur Keksdose hinzu 

Sorte[0] = "Butterkeks"; 

Sorte[1] = "Doppelkeks"; 

Sorte[2] = "Hartkeks";

}


void ausgeben() {

System.out.println("Kekssorten: " Sorte);

}

}

Klar liegt der Fehler bei der Methode "ausgeben" da diese die variable "Sorte" nicht kennt.Aber wie mach ich aus dem Array eine Klassenvariable ?

public static.. und dann ? string[].. geht nicht, wie funktioniert das richtig ?

Vielen Dank für eure Aufmerksamkeit.

MfG J.

Link zu diesem Kommentar
Auf anderen Seiten teilen

problem ist nur das ich laut der tollen aufgabe der uni den kram halt per neuer methode mit "void ausgeben() " printen soll.

gut das wir nie erklärt bekommen haben wie man aus arrays klassenvariablen macht und ich auch durch google nicht viel schlauer werde.

kannst mir mal nen beispiel eines arrays geben das du zu einer klassenvariablen machst ?

vielen dank ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also zum einen mal legst du Klassenvariablen nicht in der main-Methode an! Sondern außerderhalb der Methode auf Klassenebene:

class Keks {

   String[] Sorte = new String[3];



   public static void main(String[] args) { 

       ... 

Einen Klassenvariable zeichnet sich nämlich dadurch aus, dass du von überall in dieser Klasse auf sie zugriff hast. Laut Java-Code-Conventions schreibt man variablen jedoch klein. Es sei denn sie sind final und static. Ist eine Klassenvariable static ist sie für jedes Objekt dieser Klasse gleich. Ist eine Varibale final kann sie zur Laufzeit nicht verändert werden. Im übrigen hast du bei deiner Ausgabe der Sorten eine "+" vergessen:
System.out.println("Kekssorten: "[U][B]+[/B][/U]Sorte);

Bearbeitet von speedi
Link zu diesem Kommentar
Auf anderen Seiten teilen

problem ist nur das ich laut der tollen aufgabe der uni den kram halt per neuer methode mit "void ausgeben() " printen soll.

gut das wir nie erklärt bekommen haben wie man aus arrays klassenvariablen macht und ich auch durch google nicht viel schlauer werde.

An der Uni solltest Du lernen, Dir selbst das Wissen anzueignen und nicht dass es Dir jemand erklärt und dass Google keine Ergebnisse liefert hast Du, wie die nachfolgenden Postings zeigen, widerlegt bekommen.

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

class Keks {

// Erzeugen Sie ein Objekt der Klasse Keksdose der Kapazitaet 3 


String[] Sorte = new String[3]; 


}

Hier fängt es schon an: Es soll ein Objekt vom Typ "Keksdose" mit einer Kapazität von drei erzeugt werden und kein Array aus drei Objekten des Typs "String".

problem ist nur das ich laut der tollen aufgabe der uni den kram halt per neuer methode mit "void ausgeben() " printen soll.

Vermutlich soll das eine Methode der Klasse Keksdose werden.

gut das wir nie erklärt bekommen haben wie man aus arrays klassenvariablen macht

Ich vermute zwar, dass es irgendwann doch erklärt wurde oder aus dem Kontext hervorging, aber gibt es für solche Fälle keine empfohlene Literatur oder Ansprechpartner für Rückfragen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich vermute zwar, dass es irgendwann doch erklärt wurde oder aus dem Kontext hervorging, aber gibt es für solche Fälle keine empfohlene Literatur oder Ansprechpartner für Rückfragen?

Natürlich gibt es so etwas: Bibliothek, Tutor, Kommilitonen und vor allem das Script.

Es scheint sich um eine Einführungsveranstaltung zu handeln, so dass man sich eben mal selbst hinsetzen muss und am Verständnis arbeiten sollte

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

class Keks {


public static void main(String[] args) { 


// Erzeugen Sie ein Objekt der Klasse Keksdose der Kapazitaet 3 


String[] Sorte = new String[3]; 

// Fuegen Sie drei Kekse zur Keksdose hinzu 

Sorte[0] = "Butterkeks"; 

Sorte[1] = "Doppelkeks"; 

Sorte[2] = "Hartkeks";

}


void ausgeben() {

System.out.println("Kekssorten: " Sorte);

}

}

Nur weil man Student ist, heisst es doch nicht, dass man nicht fragen darf, son blödsinn... ^^ Also wie hier schon geschrieben wurde, solltest du laut Aufgabenstellung scheinbar eine Klasse erstellen namens Keksdose. Beim erstellen eines Objektes der Klasse Keksdose gibst du ein Parameter "Kapazität" an, mit der in der Klasse Keksdose z.B. ein Array erzeugt werden kann, so wie du es auch in deinem Programm oben gemacht hast. in der Klasse müsste das String Array global in der Klasse definiert werden also:
public class Keksdose 

{

	String[] sorten;

	public Keksdose(int kapazitaet)

	{

		sorten = new String[kapazitaet];

	}

dann bräuchtest du n och eine Methode zum einfuegen von den einezelnen Sorten und eben eine Methode, mit der du dir diese wieder ausgeben lassen kannst.

intanziieren und steuern tust du das ganze dann aus deiner main. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...