Ergebnisse in 2 Zeilen

vince191

Mitglied
Hallo zusammen,

ich komme mal wieder mit einer Aufgabe nicht zurecht und benötige eure Hilfe!
Mein Programm soll eine Eingegebene Zahl mit dem Collatz Regeln berechnen sodass am Ende immer eine 1 als Endergebnis kommt.

Soweit funktioniert das Program ganz gut und er berechnet alles richtig.
Mein Problem ist, das Programm soll auch mitzählen wie oft die Schleife durchlaufen wurde und das als ergebnis ausgeben.

So wie ich den Code geschrieben habe bekomme ich dann alles zusammen ausgegeben.

Bitte geben Sie eine Zahl ein:
22
->11Die Folgelänge ist:1
->34Die Folgelänge ist:2
->17Die Folgelänge ist:3
->52Die Folgelänge ist:4
->26Die Folgelänge ist:5
->13Die Folgelänge ist:6
->40Die Folgelänge ist:7
->20Die Folgelänge ist:8
->10Die Folgelänge ist:9
->5Die Folgelänge ist:10
->16Die Folgelänge ist:11
->8Die Folgelänge ist:12
->4Die Folgelänge ist:13
->2Die Folgelänge ist:14
->1Die Folgelänge ist:15


ich würde es aber gerne so haben:
Bitte geben Sie eine Zahl ein
22
->11 ->34 ->17 ->52 ->26 ->13 ->40 ->20 ->10 ->5 ->16 ->8 ->4 ->2 ->1
Die Folgelänge ist: 15


Code:
import inout.*;

public class Collatz1
{
   public static void main (String args[])
   {
       int n;
      
       System.out.println("bitte geben Sie eine Zahl ein");
       n = Console.readInt();
       int i = 0;
      
             
       while (n != 1)
       {
           if (n % 2 == 0)
              n = n / 2;
     
           else
            n = 3 * n + 1;
           i++;
                             
           System.out.print( "->" + n);
           System.out.println ("Die Folgelänge ist:" + i );
       }
          
   }
}


Hoffe das mit jemand helfen kann!

Danke :)
 

InfectedBytes

Top Contributor
Na dann überleg doch mal was du tatsächlich tust:
Java:
while (n != 1) {
  ...
   System.out.print( "->" + n);
   System.out.println ("Die Folgelänge ist:" + i );
}
In jedem Durchlauf machst du ein println mit "Die Folgelänge...."
Pack das einfach hinter die Schleife und fertig.
 

vince191

Mitglied
Hallo nochmal, bin immer noch mit der Aufgabe beschäftigt...
dieses mal muss ich alle Zahlen von 1 bis 40 durchlaufen lassen ohne die Startzahl selbst einzugeben.

mein Code funktioniert dieses mal überhaupt nicht :-(
Java:
import inout.*;

public class Collatz4
{
   public static void main (String args[])
   {
       int i= 1;
       int n = i;
       for ( i = 1; i <= 40; i++)
       {
          while (n != 1)
          {
           if (n % 2 == 0)
              n = n / 2;
     
           else
            n = 3 * n + 1; 
            System.out.print( "->" + n + " ");
          }
          
       }   
    }
}

kann mir jmd noch einen Tipp geben was da falsch ist?
Ist es die deklaration oder liegt es an den Schleifen?

Wenn ich int i = 0 eintrage, stürzt das Programm beim starten ab und ich muss es über den debugger stoppen.

Danke schon mal :)
 

JCODA

Top Contributor
Die Deklaration int n = i; sollte innerhalb die Schleife, i wird dort erst durchlaufen.
Versuche Deinen Code Schritt für Schritt durchzugehen.
Benutzt du eine IDE?

Etwa so:

Java:
public class Collatz4 {
    public static void main(String args[]) {
        for (int i = 1; i <= 40; i++) {
            int n = i;
            System.out.print("( " + n + " ) ");
            while (n != 1) {
                if (n % 2 == 0)
                    n = n / 2;
                else
                    n = 3 * n + 1;
                System.out.print("-> " + n + " ");
            }
            System.out.println();
        }
    }
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
SarahXyy Ergebnisse stimmen nicht überein? Java Basics - Anfänger-Themen 11
Kennewick Basketball Spiel Ergebnisse Java Basics - Anfänger-Themen 11
A keine Ergebnisse - String nummer in array nummer converting Java Basics - Anfänger-Themen 1
N Eine Zahl solange teilen bis es nicht möglich ist und die Ergebnisse ausgeben Java Basics - Anfänger-Themen 23
D Ergebnisse in Arrays ausgeben? Java Basics - Anfänger-Themen 11
S Ergebnisse zwischenspeichern (Analog zu ans-Taste bei Taschenrechnern) Java Basics - Anfänger-Themen 3
A SelectionSort bringt keine konstanten Ergebnisse Java Basics - Anfänger-Themen 4
R StringBounds falsche Ergebnisse Java Basics - Anfänger-Themen 5
H String einlesen, in .txt durchsuchen und Ergebnisse ausgeben Java Basics - Anfänger-Themen 22
V ComboBox Ergebnisse abhängig von anderer ComboBox - Wie? Java Basics - Anfänger-Themen 7
N Ergebnisse dynamisch in Tabelle schreiben Java Basics - Anfänger-Themen 3
G unerwartete Ergebnisse beim URL auslesen Java Basics - Anfänger-Themen 2
Strahlungsleck [Erledigt]Ergebnisse des Ausgelesenen Verzweichnis verwerten/benutzen Java Basics - Anfänger-Themen 9
K Ergebnisse auf einem Label anzeigen lassen ? Java Basics - Anfänger-Themen 20
K Verschiebeoperatoren - manchmal falsche Ergebnisse Java Basics - Anfänger-Themen 7
S Ergebnisse einer while Schleife zusammenfassen Java Basics - Anfänger-Themen 4
C Ergebnisse auf 2 Kommastellen runden Java Basics - Anfänger-Themen 3
S integer ergebnisse Java Basics - Anfänger-Themen 6
S Ergebnisse aus statischen Methoden weiterverwenden Java Basics - Anfänger-Themen 5
A Wochentag über SimpleDateFormat bringt wirre Ergebnisse Java Basics - Anfänger-Themen 4
D Ergebnisse als .txt Speichern.wichtig. Java Basics - Anfänger-Themen 47
V Ergebnisse in einer Struktur speichern Java Basics - Anfänger-Themen 4
G Mehrere Ergebnisse ausgeben Java Basics - Anfänger-Themen 3
H Leere Zeilen in Textdatei löschen lassen Java Basics - Anfänger-Themen 5
Saiko Zeilen einer Datei einlesen Java Basics - Anfänger-Themen 3
districon 2D Array - Zeilen und Spalten durchsuchen Java Basics - Anfänger-Themen 3
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
s_1895 zu viele Zeilen in der Main Methode Java Basics - Anfänger-Themen 4
W Anzahl der Zeilen ausgeben lassen Java Basics - Anfänger-Themen 20
crrnogorka Letzte Zeile einer Tabelle "überschreibt" alle anderen Zeilen Java Basics - Anfänger-Themen 1
X Textdatei: zwei-zeilenweise gleiche Zeilen rausschmeißen Java Basics - Anfänger-Themen 21
A Jede x-te Zeile, lösche 10 Zeilen Java Basics - Anfänger-Themen 9
das_leon Alle Zeilen einer CSV-Datei auslesen Java Basics - Anfänger-Themen 1
C Zeilen aus einer Datei in Array speichern Java Basics - Anfänger-Themen 4
F Mehrere Zeilen zu einer Zeile zusammenfügen und in eine Datei schreiben Java Basics - Anfänger-Themen 1
A String mit mehreren Zeilen splitten Java Basics - Anfänger-Themen 4
S Java Text splitten mit Tabs, Zeilen, Zeichen und Klammern. Java Basics - Anfänger-Themen 6
D JTable Zeilen löschen Java Basics - Anfänger-Themen 5
H Best Practice JavaFX TableView mit Zell-Rahmen anstelle von Zeilen-Balken Java Basics - Anfänger-Themen 1
R Eine Datei mit mehreren Zeilen beschreiben Java Basics - Anfänger-Themen 5
C Zeilen in Array einlesen und splitten? Java Basics - Anfänger-Themen 17
T Zeilen des ListArray nach einem Wort durchsuchen und diese Zeile ausgeben Java Basics - Anfänger-Themen 4
T Exceptions - ausgeführte Zeilen Java Basics - Anfänger-Themen 4
M Input/Output Alle Zeilen auslesen und in Variable speichern Java Basics - Anfänger-Themen 5
X wie kann ich in bluej/java einene 2d array mit zahlen fuellen, so dass sich diese in der der zeilen Java Basics - Anfänger-Themen 2
J Zeilen aus einer .txt-Datei auslesen und Variablen zuweisen Java Basics - Anfänger-Themen 11
F Problem mit Tabulatoren bei Zeilen zählen einer Textdatei Java Basics - Anfänger-Themen 17
F Textdatei einlesen und Zeilen zählen Java Basics - Anfänger-Themen 10
M Array: Zeilen vergleichen Java Basics - Anfänger-Themen 4
J Klassen Hilfe bei unbekannten Zeilen bzgl. Klassen / Komponenten Java Basics - Anfänger-Themen 12
T JTable einzelne Zeilen löschen Java Basics - Anfänger-Themen 3
K Input/Output 6000 Zeilen einlesen und String-Array vergleichen? Java Basics - Anfänger-Themen 1
L String extrahieren mit Regular Expression über mehrere Zeilen hinweg Java Basics - Anfänger-Themen 1
T CSV auf Inhalt und Zeilen überprüfen Java Basics - Anfänger-Themen 2
I Datei mit 2 Spalten und millionen Zeilen Java Basics - Anfänger-Themen 19
kaoZ Input/Output Einlesen von mehreren Zeilen Java Basics - Anfänger-Themen 4
J Zeilen unsichtbar Java Basics - Anfänger-Themen 11
3 JLabel - Text in mehreren Zeilen zentrieren Java Basics - Anfänger-Themen 5
L Split + Zeilen einer Datei mit bestimmtem Inhalt löschen Java Basics - Anfänger-Themen 23
V Methoden Zeilen nach bestimmtem Attribut sortieren Java Basics - Anfänger-Themen 4
M Einzelne Zeilen nach Zeichen auslesen Java Basics - Anfänger-Themen 4
T Methoden HILFE! readLine() liest nur ungerade Zeilen?? Java Basics - Anfänger-Themen 2
G JTextArea: nur bestimmte Zeilen anders formatieren Java Basics - Anfänger-Themen 7
B Input/Output bestimmte Zeilen in .txt Dateinen überschreiben Java Basics - Anfänger-Themen 20
G 3422 Zeilen in Eclipse Console Java Basics - Anfänger-Themen 5
L Zeilen und Spalten sortieren Java Basics - Anfänger-Themen 11
K Erste Schritte Eingabetext besteht aus mehreren Zeilen? Java Basics - Anfänger-Themen 3
T BufferedReader mehrere Zeilen einlesen Java Basics - Anfänger-Themen 4
B Zählen bestimmter Zeilen einer .txt Java Basics - Anfänger-Themen 7
N Zeilen vergleichen Java Basics - Anfänger-Themen 7
N Datei mit max 2000 Zeilen schreiben Java Basics - Anfänger-Themen 9
D Input/Output Zeilen aus txt-datei in Java-Liste einfügen Java Basics - Anfänger-Themen 9
K BufferedWriter schreibt die letzten paar Zeilen nicht Java Basics - Anfänger-Themen 5
R Erste Schritte 2D-Array: Zeilen & Spalten ohne schleife übergeben? Java Basics - Anfänger-Themen 3
C Mehrere Zeilen unter ~.showMessageDialog Java Basics - Anfänger-Themen 12
K Java Split mehrere Zeilen Java Basics - Anfänger-Themen 4
H 200000 Zeilen aus Datei einlesen Java Basics - Anfänger-Themen 13
Q LogFile.log einlesen und Werte zwischen 5 zeilen vergleichen Java Basics - Anfänger-Themen 5
P Bestimmte Zeilen einer Datei ermitteln ? Java Basics - Anfänger-Themen 30
B JList und JTable: leere Zeilen bei listfiles(); Java Basics - Anfänger-Themen 5
M Zeilen aus String exportieren Java Basics - Anfänger-Themen 5
P Unterschied dieser 2 code Zeilen Java Basics - Anfänger-Themen 12
A Anzahl Zeilen eines Arrays bestimmen Java Basics - Anfänger-Themen 10
J Zeilen eines Arrays vergleichen Java Basics - Anfänger-Themen 2
S .txt einlesen->Zeilen ersetzen->neu.txt speichern Java Basics - Anfänger-Themen 13
R String über mehrere Zeilen Java Basics - Anfänger-Themen 15
M Verständnis einiger Zeilen Java Basics - Anfänger-Themen 4
E Array mit Zahlen von 1-(Zeilen*Spalten) befüllen Java Basics - Anfänger-Themen 8
S Zeilen zählen Java Basics - Anfänger-Themen 7
Ollek Bestimmte Zeilen aus einer HTML Datei lesen Java Basics - Anfänger-Themen 8
C Zeilen aus einer Datei auslesen Java Basics - Anfänger-Themen 4
H String/StringBuffer nach zeilen aufteilen Java Basics - Anfänger-Themen 2
K Wie kann ich alle Zeilen in eineR Datenbank zählen? Java Basics - Anfänger-Themen 13
JFeel-x Zeilen eines JEditorPanes Java Basics - Anfänger-Themen 2
0 CSV Import - Zeilen, Spalten Java Basics - Anfänger-Themen 15
O 2D Array - Zeilen-/Spaltenlänge ermitteln Java Basics - Anfänger-Themen 4
P String über mehrere Zeilen definieren Java Basics - Anfänger-Themen 3
G Datei zeilen anhängen Java Basics - Anfänger-Themen 3
A Scanner liest nur 999 Zeilen ein Java Basics - Anfänger-Themen 5
B Zeilen in Textdatei löschen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben