Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
1.Lies den Wert von n ein.
2.Setzt i auf 3.
3.Solange i<2n, wiederhole:
a)Erhöhe i um 1.
b)Gib (1/(2i+1))
Der Algorithmus soll auf drei verschiedene Arten implementiert werden: Schreiben Sie jeweils ein Java-Programmstück, das diesen Algorithmus als while-,als for-und als do-while-Schleife realisiert.
Sämtliche Programmstücke sollen die gleichen Ausgaben erzeugen.
Ist ja eigentllich easy going mein quellcode ist dieser:
Java:
import java.io.*;
public class Schleifen
{
public static void main(String []args)
throws IOException
{
BufferedReader input=new BufferedReader (new InputStreamReader(System.in));
double summe;
double n;
double i;
double aus;
String strn;
System.out.println ("Geben sie n ein ");
strn=input.readLine();
n = Double.parseDouble(strn);
//while schleife
System.out.println("while Schleife");
i=3;
while(i<=2*n)
{
i=i+1;
aus=(1/(2*i+1));
System.out.println(aus);
}
//for Schleife
System.out.println("for Schleife");
for(i=4;i<=2*n;i++)
{
System.out.println(1/(2*i+1));
}
//do while
System.out.println("do-while Schleife");
do
{
i=i++;
summe=(1/(2*i+1));
System.out.println(summe);
}while (i<2*n);
}
}
nur jetzt ist das problem er gibt mir bei der do schleife keine Ausgabe, und ich weiß net woran das liegen kann. ???:L
1. du setzt vor der do-while-Schleife i nicht zurück.
2. Prüfst du deine Eingabe nicht vor dem Durchlauf der do-while-Schleife
3. ergibt
Code:
i=i++;
wenig Sinn... weil das i rechts und links vom = unterschiedlich sind.
4. Ist deine Prüfung in der while-Schleife falsch. Aber immerhin hast du bei der for-Schleife daran gedacht bei 4 anzufangen und ich hoffe, dass es nicht nur ein Versehen ist, dass du hier bis <= 2*n prüfst.
1. wie setzte ich denn i zurück, fällt mir gerade net mehr ein
2. Wie prüfe ich denn das denn ?
3. Jo da haste recht, habs schonmal abgeändert
4. Wie fix ich denn die while schleife, und ja das von der for schleife war so gewollt, also war kein versehen.
jo die while schleife hab ich jetz wieder richtig durch (i<2*n) anstatt <=
jedoch wenn ich jetz vor die do schelife i=3; setz wird eine zahl einfach nur bei dieser schleife durchgespammt :/
Das mit der if-abfrage, zu überprüfung weiß ich leider nicht wie das geht, sowas haben wir im unterricht noch net gemacht.
jo die while schleife hab ich jetz wieder richtig durch (i<2*n) anstatt <=
jedoch wenn ich jetz vor die do schelife i=3; setz wird eine zahl einfach nur bei dieser schleife durchgespammt :/
Ihr macht Schleifen bevor ihr das wichtigste an der Schleife besprochen habt? Oo was ist das denn für ein Lehrer/Dozent? oO
Ich bin immer wieder erstaunt...
Jo unsere lehrerin is richtig unfähig, die kopiert alles nur aus irgendeinem buch, ich musst ihr auch erklären warum ich bei der for schleife bei 4 angefangen habe -.-