[Java] Probleme mit Schleifen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Vic, 17. Januar 2010 .

Schlagworte:
  1. 17. Januar 2010
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    Probleme mit Schleifen

    Hallo,

    habe 3 Aufgaben zu Schleifen aufbekommen, aber werde einfach nicht schlau aus der Aufgabenstellung. Ich verstehe einfach nicht, was er von mir will? Weiß da einer was?
    BW ist klar.
    Danke


    Bild
     
  2. 17. Januar 2010
    AW: Probleme mit Schleifen

    Aufgabe 1:
    Code:
    public class Doppelschleife {
    
     Scanner sc = new Scanner(System.in);
     
     public static void main(String[] args) {
     System.out.println("Eingabe: ");
     int n = sc.nextInt();
     
     for (int i = 1; i <= n; i++) {
     
     for (int j = 1; j <= n; j++) {
     System.out.println( i*j );
     }
     
     System.out.println(" ");
     }
     }
    }
    Aufgabe 2:
    Code:
    public class Aufgabe2 {
    
     
     public static void main(String[] args) {
     int n = 16;
     int erg = 0;
     int zahl = 0;
     
     for (int i = 0; i <= n; i++) {
     erg = (2*n+1)-(2*n+2);
     zahl = zahl + erg;
     }
     
     System.out.println("Ausgabe: "+ zahl);
     }
    }
    Musst noch testen schreibe alles nur mit ein Editor, habe noch kein compiler auf mein Rechner usw.. 3 Folgt.

    Edit int i muss mit 0 anfangen.
     
  3. 17. Januar 2010
    AW: Probleme mit Schleifen

    Dankeschön BW hast du. Die letzte hab ich jetzt auch schon , fehlt nur noch eine.
     
  4. 20. Januar 2010
    AW: Probleme mit Schleifen

    Auch net schwer

    int endwert = eingabe
    int sum = 0
    int faktor = 1;
    for(int i=1; endwert <=sum; i++) {
    sum=sum+faktor*i
    faktor=faktor*-1
    }

    Das ist ungefähr die Berechnung müsste man jetz noch schön schreiben, die Idee is du berechnest so lange die alternierende Reihe (1-2+3-4....) bis du das Gewünschte ergebnis hast.
     
  5. 23. Januar 2010
    AW: Probleme mit Schleifen

    Bei Koronas Lösung fehlt noch eine Kleinigkeit, du brauchst eine zusätzliche Variable um die Anzahl der Durchläufe zu zählen. Das sollte reichen wenn du sie vor Schleifenbeginn deklarierst/initialisierst und innerhalb der Schleife ständig mit i belegst.

    Allerdings ist die Schleife etwas vermurkst, die wird niemals ausgeführt werden da sum=0 eigtl. in keinem sinnvollen fall zu beginn schon größer gleich endwert ist. Weiterhin brauchst du den Faktor nicht direkt als variable, alterierendes + - kann man auch über (-1)^(i+1) lösen. Korrigierte Variante mit Zähler:

    int endwert = eingabe
    int sum = 0
    int counter = 0;
    for(int i=1; sum <= endwert; i++) {
    sum=sum+(-1)^(i+1) *i
    counter = i
    }

    Obs völlig fehlerfrei ist kann ich grad nicht garantieren bin zu faul das zu testen
     
  6. 23. Januar 2010
    AW: Probleme mit Schleifen

    Hab das mal zum spaß in perl gemacht da ich das grade lern. Denk zwar dasses dir nich viel Hilft aber poste es trotzdem mal.

    Code:
    $summe = 0;
    $wert = -1;
    $durchlaufe = 0;
    
    
    
    while ( $summe != 16)
     {
     ++$wert;
     $summe -= $wert;
     ++$wert;
     $summe += $wert;
     $durchlaufe += 2;
     }
    print "Der Wert betraegt 16 nach $durchlaufe Durchlaeufen. \n";
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.