neue Variablen in Schleife anlegen

Status
Nicht offen für weitere Antworten.

walter911

Mitglied
Hallo,

ich habe in kurzform folgende Aufgabenstellung:

1. Dialog: Eingabe des ersten Tageskurses.
2. Dialog: Eingabe des naechsten Tageskurses.
3. Dialog: Frage, ob ein weiterer Wert eingegeben werden soll (\ja" fueuhrt zu einer
Wiederholung der Dialoge 2 und 3, \nein" fuhrt zu Dialog 4).


jetzt setze ich um die Dialoge 2 und 3 eine While Schleife.
Funktioniert auch gut. Aber wie kann ich es realisieren, dass der nächste Tageskurs (also im prinzip der 3te) automatisch einer neuen Variable zugewiesen wird und der n-te (also z.b. 4,5,6... usw) auch.

Wieviele Tageskurse eingegeben werden ist nicht bekannt. Wie kann ich Variablen für die neu Eingegebenen Werte erstellen.
Java:
String kurs1 = JOptionPane.showInputDialog(null,"Eingabe des ersten Tageskurses.");
String neuerWert = "ja";

while (neuerWert.equals("ja")) {
String kurs2 = JOptionPane.showInputDialog(null,"Eingabe des naechsten Tageskurses.");
neuerWert = JOptionPane.showInputDialog(null,"Soll ein weiterer Wert eingegeben werden?","ja oder nein eingeben");}

Das Problem ist ja nun, dass wenn die Schleife wieder zu der Eingabe springt, der kurs2 ja neu festgesetzt wird. Ich möchte aber alle eingegebenen Kurse speichern
 

javimka

Top Contributor
Weisst du, wie viele Kurse kommen werden? Dann verwende ein Arrays: String kurse = new String[n].
Dann kannst du in der Schleife schreiben [c]kurse[i++] = kurs2[/c].

Wenn du nicht weisst, wie viele Kurse kommen, kannst du eine ArrayList verwenden: ArrayList<String> kurse = new ArrayList<String>();
In der while-Schleife schreibst du dann: kurse.add(kurs2);
 

walter911

Mitglied
Weisst du, wie viele Kurse kommen werden? Dann verwende ein Arrays: String kurse = new String[n].
Dann kannst du in der Schleife schreiben [c]kurse[i++] = kurs2[/c].

Wenn du nicht weisst, wie viele Kurse kommen, kannst du eine ArrayList verwenden: ArrayList<String> kurse = new ArrayList<String>();
In der while-Schleife schreibst du dann: kurse.add(kurs2);

Danke.

Ich weiß nicht wie viele kommen werden.

Es muss dann in der Schleife so aussehen oder?
Java:
while (neuerWert.equals("ja")) {
String kurs2 = JOptionPane.showInputDialog(null,"Eingabe des naechsten Tageskurses.");
kurse.add(kurs2); 
neuerWert = JOptionPane.showInputDialog(null,"Soll ein weiterer Wert eingegeben werden?","ja oder nein eingeben");}

verändern oder bleibt das kurs2
kurse.add(kurs2); schreib ich einfach in die while Schleife

kann ich nicht auch ArrayList kurse = new ArrayList(); anstatt deine Version mit den <string> schreiben?
 
Zuletzt bearbeitet:

javimka

Top Contributor
ja, das ist richtig so.

Das <String> könntest du auch weglassen, solltest du aber nicht. Die ArrayList kannst du für jeden Objekt Typ verwenden, nennt sich Generics. Aber wenn du weisst, für welche Objekte die Liste gebraucht wird, solltest du es in <> angeben.
 

walter911

Mitglied
Danke das klappt ja soweit.

Im Prinzip werden ja nur Zahlen eingegeben und später muss ich ja mit denen rechnen.
Wäre es dan nicht angebracht eine Arraylist des typs int zu nehmen oder spricht irgendetwas dagegen?
 

eRaaaa

Top Contributor
Danke das klappt ja soweit.

Im Prinzip werden ja nur Zahlen eingegeben und später muss ich ja mit denen rechnen.
Wäre es dan nicht angebracht eine Arraylist des typs int zu nehmen oder spricht irgendetwas dagegen?

jaein :D
es können nur objekte verwendet werden, also musst du den wrapper Integer benutzen, also statt int, musst du da Integer in die klammern setzen
 

walter911

Mitglied
den parseint Befehl kenne ich. Ich dachte nur ich kann die Eingaben direkt als int machen. Aber das parsen ist ja kein Problem.

Ich hab jetzt aus der arraylist ein Array gemacht

String[] kursearray = kurse.toArray(new String[kurse.size()]);
System.out.println(kursearray.length);

Wenn ich mir aber die Länge des Arrays ausgeben lassen möchte kommt:
run:
[4, 4]
BUILD SUCCESSFUL (total time: 7 seconds)

das sind die Werte die ich eingegeben habe.
 

eRaaaa

Top Contributor
mhm? komisch :D
wie sieht denn dein code jetzt aus?

und wieso willst du die arraylist jetzt eig. zu einem array umwandeln?
 

walter911

Mitglied
mhm? komisch :D
wie sieht denn dein code jetzt aus?

und wieso willst du die arraylist jetzt eig. zu einem array umwandeln?

Das hat was mit der kompletten Aufgabenstellung zutun.
Ich hab in dem Array ja eine gewissen Anzahl an Werten (Zahlen)
und diese Zahlen muss ich wie folgt berechnen:

Zahl2-Zahl1= neuezahl
Zahl3-Zahl2=neuezahl2
Zahl4-Zahl5=neuezahl3
usw. bis die länge des arrays erreicht ist. Wenn ich das Problem gelöst hab hab ich die Aufgabe so gut wie fertig.

Folgender Code dachte ich zeigt mir die 3. Stelle des Arrays an(statdessen gibt er aber das ganze array aus :( ):
Java:
String[] kursearray = kurse.toArray(new String[kurse.size()]);
System.out.println(kursearray[2]);
tut es aber auch nicht. Das Ergebnis ist:
run:
[1, 2, 3, 5]
BUILD SUCCESSFUL (total time: 10 seconds)

Selbst wenn ich sie printline Zeile weglasse zeigt mir das Programm das array an
 

javimka

Top Contributor
Du musst doch irgendwelche Berechnungen damit anstellen. Du könntest die Liste auch in ein Integer Array konvertieren:
Java:
int[] array = new int[list.size()];
for (int i=0;i<list.size();i++) {
  array[i] = Integer.parseInt(list.get(i));
}
 

haber

Mitglied
Sitze an der gleichen Aufgabe und habe trotz genauem durchlesen dieses Themas keine Ahnung wie ich nun die einzelnen Durchgänge(eingegebene Kurswerte) in einzelne neu estellte Variablen schiebe.
Geht sowas nur mit arrays? Ich verstehe arrays trotz durchlesens vieler Erklärungen nicht.
 

javimka

Top Contributor
Ein Array sind einfach mehrere Elemente nebeneinander. Willst du z.B. ein Array mit 8 Zahlen schreibst du:
[c]int[] zahlen = new int[8];[/c]

Das erste Element ist dann an der Stelle 0, also zahlen[0]. Das letzte Element ist an der Stelle 7 (hier), also zahlen[7].
Allgemein kann man die Länge eines Arrays mit array.length herausfinden, hier wäre zahlen.length also gerade 8.

Wenn man nun mit jedem einzelnen Element etwas machen will, was immer mehr oder weniger dasselbe ist, dann macht man das in einer for-Schleife. Will man z.B. in jedes Feld i die Zahl i*i hineinsetzen, kann man das machen mit
Java:
for (int i=0;i<array.length;i++) {
  array[i] = i*i;
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D neue public static class variablen in array speichern? Java Basics - Anfänger-Themen 6
F Variablen Übergabe von eingelesenen Variablen in neue Klasse Java Basics - Anfänger-Themen 15
P Neue Java v8 JRE Version nicht über alte drüber installierbar: Wie sonst? Java Basics - Anfänger-Themen 7
F Erste Schritte Zahlenreihe von Arraylist in 3erBlöcke sortiert in neue Arraylist Java Basics - Anfänger-Themen 2
B Verkettete Liste durchgehen und einzelne Elemente in neue Liste tun Java Basics - Anfänger-Themen 9
S JavaFX - Objekt an neue Stage übergeben Java Basics - Anfänger-Themen 12
C Nachträglich neue grafische Objekte hinzufügen Java Basics - Anfänger-Themen 7
A eine neue normale String-Array von einer String-Array, die in for schleife ist, schaffen Java Basics - Anfänger-Themen 3
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
J Neue Werte in ein Array hinzugeben Java Basics - Anfänger-Themen 8
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
B Objekt an neue Stage übergeben? Java Basics - Anfänger-Themen 9
L Neue Klasse für TableView? Java Basics - Anfänger-Themen 17
tsom Erste Schritte itext Text als Block auf neue Seite Java Basics - Anfänger-Themen 0
T Zufällige Matrix in neue Matrix schreiben Java Basics - Anfänger-Themen 6
M BufferedReader neue Zeile nach Knopfdruck Java Basics - Anfänger-Themen 9
S drawString() neue Zeile Java Basics - Anfänger-Themen 4
H Aus wav-datei lesen und in neue wav-datei speichern Java Basics - Anfänger-Themen 10
E Wenn i (for-Loop) bestimmter Wert, dann neue Zeile eines Buttons Java Basics - Anfänger-Themen 7
Hijo2006 Neue externe Klasse einbinden Java Basics - Anfänger-Themen 13
W Neue Klassenmethode implementieren.. Java Basics - Anfänger-Themen 6
U neue Methoden in JSP??? Java Basics - Anfänger-Themen 1
L0MiN Erste Schritte Neue Punkte zu einer Map hinzufügen und dauerhaft speichern? Java Basics - Anfänger-Themen 4
N wie schreibt man die neue for schleife? Java Basics - Anfänger-Themen 3
D Wie erstelle ich eine neue Hauptklasse mit eclipse? Java Basics - Anfänger-Themen 3
B Neue Bibliothek hinzufügen Java Basics - Anfänger-Themen 2
S Daten aus anderen Dateien in neue Datei einlesen Java Basics - Anfänger-Themen 3
M FileWriter Neue Datei wenn aktuelle "zu groß" Java Basics - Anfänger-Themen 3
C auslesen bestimmter werte einer textdatei und anschl. hineinschreiben in eine neue txt-datei. Java Basics - Anfänger-Themen 2
R csv-Datei auslesen und ausgelesene Daten in neue csv-Datei speichern Java Basics - Anfänger-Themen 2
D Neue Array übernimmt Werte des alten nicht Java Basics - Anfänger-Themen 5
J Neue Zeile an bestimmter Stelle in Textdatei einfügen Java Basics - Anfänger-Themen 2
M Neue Objekte mit Hilfe von String Variable erschaffen Java Basics - Anfänger-Themen 2
I Neue Klassenbibliothek erstellen Java Basics - Anfänger-Themen 8
K Iteration - Alte und neue For Schleife Java Basics - Anfänger-Themen 17
M Klassen Eine Klasse abrufen ohne eine neue Instanze auf zu rufen? Java Basics - Anfänger-Themen 8
C Vector erzeugt neue Indizes nach Input Java Basics - Anfänger-Themen 2
S neue Methode schreiben Java Basics - Anfänger-Themen 14
E Variable neue Random Zahl zuweisen, wenn Button geklickt Java Basics - Anfänger-Themen 5
J Werte ins neue Fenster übertragen Java Basics - Anfänger-Themen 6
G Ausgabe nach 5 Zeichen in neue Zeile schreiben??? Java Basics - Anfänger-Themen 12
A Werte per Zufall aus einer Datei ziehen und in eine neue Datei schreiben Java Basics - Anfänger-Themen 9
U neue Java-Datei öffnen Java Basics - Anfänger-Themen 10
S Itext und eine neue Zeile einfügen Java Basics - Anfänger-Themen 2
Corben Input/Output FileOutputStream - neue Zeile mit write(10) Java Basics - Anfänger-Themen 6
K in Konstruktor neue Objekte einer anderen Klasse erzeugen Java Basics - Anfänger-Themen 9
S Datenströne - Text in eine Datei einlesen, umwandeln und in eine neue Datei schreiben Java Basics - Anfänger-Themen 6
F Neue Klasse mag nicht - nullPointerException Java Basics - Anfänger-Themen 6
L String suchen und ersetzten, ohne neue Datei Java Basics - Anfänger-Themen 4
X FileHandler: neue Datei erzeugen Java Basics - Anfänger-Themen 2
U Java neue Variable für jeden Schleifendurchgang Java Basics - Anfänger-Themen 11
K Neue Menge aus zwei Mengen konstruieren Java Basics - Anfänger-Themen 3
Luk10 Dateipfad beim Laden einer Datei + Neue kleine Frage! Java Basics - Anfänger-Themen 11
Hindi93 Neue Libs - wohin damit? Java Basics - Anfänger-Themen 7
G JUnit ist das neue main() Java Basics - Anfänger-Themen 16
M neue Zufallszahl in Schleife Java Basics - Anfänger-Themen 2
M java neue datei erstellen Java Basics - Anfänger-Themen 6
V Scanner Einlese aus Datei in neue Datei? Java Basics - Anfänger-Themen 8
Haubitze_Broese neue Klasse? Java Basics - Anfänger-Themen 6
F Neue Panelgröße nach Fenster maximieren Java Basics - Anfänger-Themen 5
S FileWriter - in neue Zeile schreiben!? Java Basics - Anfänger-Themen 19
P OOP Automatisch neue Objekte erstellen Java Basics - Anfänger-Themen 14
L Neue Zeile JTable Java Basics - Anfänger-Themen 13
B Eine neue Klasse in anderen Projekten nutzen Java Basics - Anfänger-Themen 5
S GridBagLayout neue Objekte hinzufügen Java Basics - Anfänger-Themen 3
M Action als neue Klasse Java Basics - Anfänger-Themen 2
B Teile einer Image in neue Image kopieren Java Basics - Anfänger-Themen 4
E Neue zeile in string Java Basics - Anfänger-Themen 3
L Mit Array neue Objekte erzeugen Java Basics - Anfänger-Themen 3
R Zeichnung entfernen und neue Zeichnen lassen Java Basics - Anfänger-Themen 20
R Neue GUI öffnen und die Alte schließen Java Basics - Anfänger-Themen 6
J ArrayList<Point> in eine neue ArrayList<Point> kopieren Java Basics - Anfänger-Themen 8
D Wie neue Instanz einer Klasse erstellen, von der ich nur eine andere Instanz kenne? Java Basics - Anfänger-Themen 13
S Stilfrage: Neue Klasse wenn es in einer Klasse zu viele Methoden gibt? Java Basics - Anfänger-Themen 14
G neue Instanz von ArrayList Java Basics - Anfänger-Themen 5
Zed Übergang von Kalenderwochen ins neue Jahr Java Basics - Anfänger-Themen 19
W JTextfield in neue Zeile einfügen Java Basics - Anfänger-Themen 5
JFeel-x Kann man in Eclipse neue Shortcuts erstellen? Java Basics - Anfänger-Themen 17
GambaJo Ab wann neue Klasse erzeugen? Java Basics - Anfänger-Themen 2
S Auf neue Dateien überprüfen Java Basics - Anfänger-Themen 2
Q java.util.loggging neue datei erstellen Java Basics - Anfänger-Themen 3
M Neue Pakete implementieren Java Basics - Anfänger-Themen 5
D neue Datei inkl. Ordner erstellen - in einem Rutsch? Java Basics - Anfänger-Themen 7
H ist eine "neue Session" für Mail möglich? Java Basics - Anfänger-Themen 3
G FileWriter -> neue Zeile Java Basics - Anfänger-Themen 13
S PrepareStatement, jede neue Zeile INT-Wert Java Basics - Anfänger-Themen 5
K Eine Neue Methode Schreiben . Java Basics - Anfänger-Themen 15
L ftp öffnen über neue DOS-Box Java Basics - Anfänger-Themen 8
A Neue Objekte zur Laufzeit erzeugen Java Basics - Anfänger-Themen 5
M Neue Zeile? Java Basics - Anfänger-Themen 8
M JTable - DefaultTableModel - neue Row per Button-Klick Java Basics - Anfänger-Themen 2
S neue Aufgabe Java Basics - Anfänger-Themen 4
U Werte in neue Klasse speichern Java Basics - Anfänger-Themen 23
M Mit Java eine neue DB anlegen über XAMPP? Ist das möglich ? Java Basics - Anfänger-Themen 4
G Neue Look and Feels Java Basics - Anfänger-Themen 6
K Neue Werte für gleiche Array-Indexe Java Basics - Anfänger-Themen 16
Bernasconi Programmierstil / Wann eine neue Datei? Java Basics - Anfänger-Themen 5
S Datei auslesen und neue schreiben (keine Textdatei) Java Basics - Anfänger-Themen 2
U Neue Zeile im JLabel Java Basics - Anfänger-Themen 4
C Liste von Strings umkehren und als neue Liste zurückgeben? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben