Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Khodos

Frischling

  • »Khodos« ist der Autor dieses Themas

Beiträge: 45

Wohnort: Kienz

  • Private Nachricht senden

1

26.02.2014, 18:11

Java Programm rechnet falsch

Hallo Leute,
wir haben in der Schule zurzeit Java (in Informatik) und als Hausaufgabe hatte ich ein Programm zu schreiben, was nach dem Heron Verfahren rechnet.
Das Problem ist, das nach der ersten Rechnung alle Werte nur 0.0 sind (Hab in mein Programm eingebaut, das es nach jedem mal Schleife durchlaufen die Werte anzeigt). Ich hab jetzt schon einige Zeit lang den fehler gesucht, aber nichts gefunden. Vielleicht kann mir hier jemand helfen.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
public class wurzel {

public static void main(String[] args) {
    
    double flaeche = 5.0; //ausgangswert
    
    double schranke = 0.02;
    
    double genauigkeit = 10000;
    
    double x[] = new double[100];
    double y[] = new double[100];
    
    int n = 0;
    
    
    
    
    x[n] = 1.0;
    System.out.println(String.format("Das x[n] betraegt %s", x[n]));
    y[n] = flaeche / x[n];
    n++;
    
    
    while (genauigkeit > schranke)
    {

System.out.println(String.format("Das x[n] betraegt %s", x[n]));
System.out.println(String.format("Das y[n] betraegt %s", y[n]));

System.out.println(String.format("Das genauigkeit betraegt %s", genauigkeit));
x[n] = (x[n-1] + y[n-1]) / 2;
y[n] = flaeche / x[n];

genauigkeit = Math.abs(x[n] - y[n]);

n++;
    } 
    System.out.println(String.format("Das n betraegt %s", n));
    System.out.println(String.format("Das Ergebnis betraegt %s", x[n]));
}
} 
Aktuelles Projekt: World of Kienz

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

2

26.02.2014, 18:17

[Hier stand Blödsin]

Du gibst den Wert für x[n] aus, berechnest ihn aber erst darauf. Pack die Ausgaben mal ans Ende der Schleife (also vor das n++) ;)

Khodos

Frischling

  • »Khodos« ist der Autor dieses Themas

Beiträge: 45

Wohnort: Kienz

  • Private Nachricht senden

3

27.02.2014, 15:03

Danke, jetzt gehts! :thumbsup:
Aktuelles Projekt: World of Kienz

Werbeanzeige