2 Schleifenausgaben nebeneinander ausgeben.

BeLeHoSt

Neues Mitglied
Hi,
ich habe folgendes Problem. Ich will das der Anwender eine Zahl eingibt und dannach die Zahlen rauf und runter angezeigt werden.
Beispiel:
Anwendereingabe: 3
Ausgabe:
1 - 3
2 - 2
3 - 1
Ich hatte mir überlegt, ich löse es mit 2 Schleifen. Eine zählt runter die andere rauf. Nur leider bekomme ich nun die 2 Ausgaben nicht nebeneinander angezeigt, die ich dann mit einem "-" verbinden könnte. Es wird immer untereinander angezeigt. Muss ich mein Ergebnis nun mit substring zusammen schneiden oder gibt es da eine elegantere Lösung ?
Java:
package Schleifen;

import javax.swing.JOptionPane;

public class Aufgabe2 {
  public static void main(String[] args) {
  
  String eingabeZahl = JOptionPane.showInputDialog("Bitte eine Zahl eingeben:");
  int Zahl = Integer.parseInt(eingabeZahl);
  int zaehler;
  int zaehler2;
  String puffer ="";
  String puffer2 ="";
  
  for (zaehler = 1; zaehler <= Zahl; zaehler = zaehler +1 ) {
  puffer= puffer + zaehler +" \n";
  }
  
  for (zaehler2 = Zahl; zaehler2 >=1; zaehler2 = zaehler2 -1) {
  puffer2= puffer2 +zaehler2 +"\n";
  
  
  }
  System.out.println(puffer + puffer2);
  }
  
}
Gruß
BeLeHost
 
Zuletzt bearbeitet von einem Moderator:
Das ganze ist mit einer Schleife einfacher.
Wenn du bei 1 anfängst zu zählen und dann bis "zahl" gehst. Dann ist die erste Zahl immer dein Zähler und die zweite Zahl (zahl-zähler+1). Das kann man dann direkt ausgeben.

Java:
String eingabeZahl = JOptionPane.showInputDialog("Bitte eine Zahl eingeben:");
int zahl = Integer.parseInt(eingabeZahl);

for (int i = 1; i <= zahl; i++) {
    System.out.println(i + " - " + (zahl - (i - 1)));
}

Theoretisch könnte man deine beiden Puffer auch mit substrings verbinden, so dass es passt, aber das ist umständlicher als nötig.
 

Zurück
Oben