Variable außerhalb der Schleife benutzen?

5 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet
  1. 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.
  2. (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.
  3. Scanner sollten geschlossen werden, nachdem du sie nicht mehr brauchst.
Woher ich das weiß:Berufserfahrung

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.

Woher ich das weiß:Berufserfahrung – Studium mit Schwerpunkt Java und 5+ Jahre Berufserfahrung

cucks 
Beitragsersteller
 04.12.2019, 00:11

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

0

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?


J0T4T4  03.12.2019, 23:55

Warum hilfst du solchen undankbaren Menschen überhaupt?

2

So befüllt man aber kein Array :)


cucks 
Beitragsersteller
 03.12.2019, 23:50

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)

1
BrauchJzHilfe  03.12.2019, 23:51
@cucks

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

1
J0T4T4  03.12.2019, 23:54
@BrauchJzHilfe

Der wird ja auch noch richtig dreist xD

Da hat man direkt Lust, noch ein wenig mehr zu helfen...

2
BrauchJzHilfe  03.12.2019, 23:55
@J0T4T4

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

1
cucks 
Beitragsersteller
 04.12.2019, 00:00
@BrauchJzHilfe

Danke für deine Hilfe aber als ich meinen Kommentar geschrieben habe, hast du noch etwas anderes geschrieben :D

1