Variable außerhalb der Schleife benutzen?
Hey Leute,
ich habe außerhalb meiner Schleife das int-array zahlen angelegt und fülle es in der Schleife.
Nun möchte ich das befüllte Array außerhalb der Schleife sortieren - wie ist das möglich? Stehe gerade auf dem Schlauch :(
Vielen Dank im Voraus
5 Antworten
- Du legst in jeder Schleifeniteration einen neuen Array an. Was du natürlich machen willst ist das neue Element in den Array einfügen, das ist etwas komplett anderes.
- (Statische) Arrays eignen sich nicht für das repetitive Einfügen von Elementen, da du jedes Mal, dass du deinen Array vergrößerst, den gesamten Array kopieren darfst. Nutze dafür lieber die Klasse java.util.ArrayList<Integer>, da kannst du dir einfach vor der Schleife einen Container anlegen und in jedem Schleifendurchlauf zahlen.add(zahl) schreiben. Wenn du nach dem Einlesen unbedingt einen statischen Array haben willst, kannst du die toArray()-methode verwenden.
- Scanner sollten geschlossen werden, nachdem du sie nicht mehr brauchst.
Zunächst ist dein Array zu beginn nicht initialisiert. Du initialisierst es zwar in der Schleife - was wohl nicht beabsichtigt ist, aber da keine Garantie besteht, dass in die Schleife eingetreten wird, dürfte sich der Compiler darüber beschweren.
Ist eine Liste keine Option? Die kannst du initialisieren, mit add() befüllen und dann sortieren.
Hey Severin, das Problem das ich habe ist, dass die Zahlen, die einzulesen sind untereinander stehen. Das heißt ich muss mit nextLine arbeiten und später parsen :D
Habe mit Java nie viel gemacht, aber mir fällt folgendes auf:
1)int[]zahlen leerzeichen fehlt dazwischen
2)wenn du ein item zum array hinzufügen willst machst du das mit der Methode add bzw du setzt die Einträge auf ein bestimmten index (in der Dokumentation nachsehen wie man es genau in Java verwendet)
Dir ist klar, dass new int[zahl] einfach nur ein array mit Speicherplatz für zahl integer anlegt und es nicht mit deinen Werten befüllt?
So befüllt man aber kein Array :)
Hast du dir meinen Code überhaupt angeguckt ?! Ich muss das Array in der Schleife befüllen und das geht nur mit der Schleife. Deklariert ist sie übrigens außerhalb (über der while-Schleife)
Jo sry :)
Also zum einen befüllt man so kein Array.
Zum anderen kannst du ja über die Fehler drüber hovern und da steht dann was Sache ist
Der wird ja auch noch richtig dreist xD
Da hat man direkt Lust, noch ein wenig mehr zu helfen...
Echt so ;) hab aber als erstes tatsächlich nicht wirklich hingeguckt und gedacht, dass er ne Variable der Schleife außerhalb der Schleife nehmen will
Danke für deine Hilfe aber als ich meinen Kommentar geschrieben habe, hast du noch etwas anderes geschrieben :D
Warum hilfst du solchen undankbaren Menschen überhaupt?