Knuddelbearli
Commodore
- Registriert
- Nov. 2009
- Beiträge
- 4.530
Moin ich lerne grade in der Schule Java jetzt habma ein kleines Projekt bekommen zum while Üben hatte dort ein problem das ich zwar durch ausprobieren gelöst habe aber imemr noch nicht verstehe wieso ich dieses problem habe.
Aufgaben stellung war:
Implementiere sie eine Klasse BruchFolge1 mit folgenden Methoden für die nachfolgende skizzierte Bruchfolge:
1/1 3/2 5/4 7/8 ....
*ausgebenFolge(anz) - Gibt die Folge für anz Brüche aus.
War keine große Sache hatte ich innerhalb weniger Minuten fertig
*ausgebenWerte(anz) - Gibt die berechneten Werte für anz Brüche aus.
hier hatte ich lange Zeit Probleme, das Ergebnis muss ja ein float sein wenn ich aber bruchA und bruchB dividiere kommt obwohl ergebniss ein Float ist imer nur 1.0 oder 0.0 raus wieso den das? Erst als ich bruchA und bruchB auch auf float umgesetzt habe hats funktioniert.
Aufgaben stellung war:
Implementiere sie eine Klasse BruchFolge1 mit folgenden Methoden für die nachfolgende skizzierte Bruchfolge:
1/1 3/2 5/4 7/8 ....
*ausgebenFolge(anz) - Gibt die Folge für anz Brüche aus.
War keine große Sache hatte ich innerhalb weniger Minuten fertig
Code:
public void ausgebenFolge ( int anz )
{
int bruchA = 1;
int bruchB = 1;
int zahler = 0;
while ( zahler < anz )
{
System.out.println ( bruchA + "/" + bruchB );
bruchA = bruchA + 2;
bruchB = bruchB * 2;
zahler++;
}
}
*ausgebenWerte(anz) - Gibt die berechneten Werte für anz Brüche aus.
hier hatte ich lange Zeit Probleme, das Ergebnis muss ja ein float sein wenn ich aber bruchA und bruchB dividiere kommt obwohl ergebniss ein Float ist imer nur 1.0 oder 0.0 raus wieso den das? Erst als ich bruchA und bruchB auch auf float umgesetzt habe hats funktioniert.
Code:
public void ausgebenWert ( int anz )
{
float bruchA =1;
float bruchB =1;
int zahler =0;
float ergebniss = 0;
while ( zahler < anz )
{
ergebniss = bruchA / bruchB;
System.out.println ( ergebniss );
bruchA = bruchA + 2;
bruchB = bruchB * 2;
zahler++;
}
}