tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von sheel
ERLEDIGT
JA
ANTWORTEN
11
ZUGRIFFE
458
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Xching Xching ist offline Mitglied Gold
    Registriert seit
    Sep 2010
    Beiträge
    190
    Hallo Zusammen;

    ich habe es mit for-schleife versucht, 100 mal der Zahl 0.125 miteinander zu addiert, aber es hat nicht funktioniert, villeicht könntet ihr mir weiter helfen.

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
     
    double zahl= 0.125;
     
            for(int i = 1 ;i<=100;i++){
                
                  i += zahl;
                  
                  System.out.println(i);
            }
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.503
    Doppelthreads sind verboten.

    Und kommt dir nicht komisch vor, dass du 0.125 zur Schleifenvariable dazuzählst?
    Da die keine Kommastellen hat ändert sich am Wert überhaupt nichts.
    Xching bedankt sich. 
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    SE Tutorials.de Gastzugang
    @sheel
    Danke fürs DELETE =D

    @TO
    1) INT ist der falsche Datentyp für Gleitkommazahlen ... dafür brauchst du FLOAT oder DOUBLE.
    2) Warum addierst du die 1/8 zum Counter hinzu ? Du brauchst eine zweite Variable mit der du rechnest.
     

  4. #4
    bergonline bergonline ist offline Mitglied Platin
    Registriert seit
    Jul 2006
    Beiträge
    518
    Wieso multiplizierst du nicht einfach?

    mfg
    bo
     

  5. #5
    Avatar von ComFreek
    ComFreek ComFreek ist gerade online [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.363
    Blog-Einträge
    4
    Wie SPiKEe schon sagte, brauchst du eine zweite Variable.
    Also in der For-Schleife benutzt du i als Zählvariable von 0-100.

    Und die Variable zahl sollte die aktuelle Zahl darstellen und (im folgenden Code eingefügte) Variable step die Schrittmenge, wobei du diese auch direkt (ohne Variable) hinschreiben könntest.

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    double step = 0.125;
    double zahl = step; // zahl = 0.125
            
     
    for(int i = 1 ;i<=100;i++)
    {
      zahl += step;
      System.out.println(zahl);
    }
     
    // oder auch
    double zahl = 0.125*100;
    System.out.println(zahl);
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  6. #6
    SE Tutorials.de Gastzugang
    Zitat Zitat von bergonline Beitrag anzeigen
    Wieso multiplizierst du nicht einfach?
    Sorry das ich so dumm nachfrage ... aber wenn TO schon im Titel sagt das er ADDIEREN will ... wie kommst du dann auf MULTIPLIZIEREN ?
    Zu mal selbst mir als Mathe-Phreak nicht wirklich einleuchten will wie du das multiplizieren willst um auf die gewünschten Ergebnisse zu bekommen.
     

  7. #7
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    @Xching:
    Vergiss es, wenn du 100 mal 0,125 aufeinander addierst, wirst du sicher nicht 12,5 bekommen, selbst wenn du doubles verwendest.
    Warum nimmst du nicht eine Zählvariable und lässt sie von 0 nach 100 laufen? Du kannst sie ja in der Schleife jedes mal durch 8 teilen.
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  8. #8
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.503
    Zitat Zitat von genodeftest Beitrag anzeigen
    Vergiss es, wenn du 100 mal 0,125 aufeinander addierst, wirst du sicher nicht 12,5 bekommen, selbst wenn du doubles verwendest.
    Warum nicht?
    Ist keine Zahl mit unendlichen Kommastellen, auch binär nicht:
    0.001

    Gerade (in C) getestet, geht genau auf 12.5

    Gruß
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  9. #9
    Avatar von ComFreek
    ComFreek ComFreek ist gerade online [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.363
    Blog-Einträge
    4
    Das verstehe ich jetzt auch nicht.

    double's reichen doch locker aus. Hier ein Live-Example in C++: http://codepad.org/8N9Q0TEq
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  10. #10
    bergonline bergonline ist offline Mitglied Platin
    Registriert seit
    Jul 2006
    Beiträge
    518
    Zitat Zitat von SPiKEe Beitrag anzeigen
    Sorry das ich so dumm nachfrage ... aber wenn TO schon im Titel sagt das er ADDIEREN will ... wie kommst du dann auf MULTIPLIZIEREN ?
    Zu mal selbst mir als Mathe-Phreak nicht wirklich einleuchten will wie du das multiplizieren willst um auf die gewünschten Ergebnisse zu bekommen.
    hää?
    Er will 100 Mal 0,125 addieren;
    warum nicht einfach x*0,125 ?
    Oder x/8?
     

  11. #11
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    @sheel: Tatsächlich. Hab nicht nachgedacht. Mit den meisten anderen Kommazahlen hätte man da bald ein Problem, aber 0,125 ist ja 1/8 und damit binär...
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  12. #12
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.503
    @bergonline:
    Auf die Weise kann man aber nicht jedes Zwischenergebnis ausgeben.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 20.07.09, 19:12
  2. Javascript Addiert nicht!
    Von liquidbeats im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 06.09.05, 19:17
  3. Antworten: 3
    Letzter Beitrag: 06.09.05, 12:21
  4. Antworten: 1
    Letzter Beitrag: 06.07.04, 23:25
  5. Suche Befehl (gerade Zahl ungerade zahl)
    Von hanspeterle im Forum PHP
    Antworten: 7
    Letzter Beitrag: 30.05.03, 15:22