wie der titel sagt würde ich gerne ein feld in einer methode initialisieren und in einer weiteren methode rückwärs ausgeben.
leider sind meine java kenntnisse .. beschränkt und ich finde den fehler nicht bzw. kann nichts mit den fehlermeldungen anfangen
Java:
importjavax.swing.*;publicclass rückwärts {publicstaticvoidmain(String[] args){double[] feld =newdouble[5];publicstaticdouble[] zuweisen (double[] feld){for(int i =0; i <5; i++){String f =JOptionPane.showInputDialog("zahl eingeben");
feld[i]=Double.parseDouble(f);}return feld[i];}publicstaticdouble[] ausgabe (double feld[i]){for(int i =4; i >=0; i--){System.out.print(feld[i]+" LEERZEICHEN ");}System.out.println(". Na, das hat doc dslhfgsdgldfgndfgdfgldfg pt");}}}
Es wäre hilfreich, wenn wir die Fehlermeldungen bekämen aber ich sehe schon das Problem. Du versuchst eine Methode in einer Methode zu benutzen. Das funktioniert nicht. Methoden müssen innerhalb von Klassen, aber außerhalb von Methoden deklariert werden.
Also da stimmst so ziemlich gar nichts in deinem Code:
1. Innerhalb der main Methode (oder generell irgendeiner Methode) kannst du nicht weitere Methoden definieren
2. Der Rückgabewert der Methode "zuweisen" passt nicht. Sie soll double[] zurückliefern, mit feld gibst du aber nur ein double zurück
3. Der Rückgabewert der Methode "ausgabe" passt nicht. Sie soll double[] zurückliefern, du gibts dort aber garnichts zurück
4. Klassennamen sollten Immer mit einem Großbuchstaben anfangen. Außerdem sollten keine Umlaute verwendet werden.
1: System.out.println(". Na, das hat doc dslhfgsdgldfgndfgdfgldfg pt"); :noe:
Solche sachen kannst du uns einfach nicht antun. Wenn ich sowas sehe dann würde ich mich gerne selbst erschießen.
So, nun mal zum Thema:
Java:
publicstaticdouble[] ausgabe (double feld[i]){for(int i =4; i >=0; i--){System.out.print(feld[i]+" LEERZEICHEN ");}System.out.println(". Na, das hat doc dslhfgsdgldfgndfgdfgldfg pt");}
Das da oben gibt einen double[] zurück, d.h. es muss ein return da sein.
versuch mal das :
Java:
publicstaticdouble[] ausgabe (double feld[i]){
zu dem hier zu ändern:
Java:
publicstaticvoid ausgabe (double feld){
Scheint mir allerdings so als würdest du wirklich noch sehr neu sein.
Wenn du Lust hast könnte ich dich Java in so einer Art Crash-Kurs beibringen, zumindest die Basics.
Kannst dich ja mal per PN melden.
Sonst vielleicht nochmal nachschauen was die eckigen Klammern -> feld[] denn überhaupt bedeuten.
@Enceladus271 zu 1) muss ich dann die main methode nach dem erstellen des feldes schliessen?
zu 2) wieso ist ist feld nur 1 wert ich hab ihm doch durch die schleife mehrere zugewiesen ?
zu 3 ) muss ich dann sowas wie public void ausgabe ohne return benutzen?
4) hab die ü ä's geaendert
1. Die Methoden müssen aus der main Methode raus, also quasi auf der selben "Ebene" liegen wie die main Methode.
2. feld ist ein Array. mit feld greifst du nur auf das i-te Element dieses Arrays zu. Also ist feld nur ein double und kein double-Array
3. Ja. Da du nur auf der Konsole etwas augeben willst und die Methode nichts zurückliefert muss der Rückgabewert void sein. Und der Parameter muss so aussehen: double[] feld
Du hast es fast geschafft:
Du musst in der main Methode noch ausgabe(feld) aufrufen.
Dazu musst du die Methode noch static machen, da man in static Methoden (hier: main) keine nicht-static Methoden aufrufen kann.