#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 + Multi-Zitat Zitieren
#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. + Multi-Zitat Zitieren
#3 17. Januar 2010 AW: Probleme mit Schleifen Dankeschön BW hast du. Die letzte hab ich jetzt auch schon , fehlt nur noch eine. + Multi-Zitat Zitieren
#5 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. + Multi-Zitat Zitieren
#6 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 + Multi-Zitat Zitieren
#7 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"; + Multi-Zitat Zitieren