tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
857
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    jose1219 jose1219 ist offline Grünschnabel
    Registriert seit
    Nov 2007
    Beiträge
    2
    Für ein Intervall von mindestens 150 natürlichen Zahlen z ist die Quersumme qz zu berechnen.

    Der Startwert a des Intervalls ist von der Tastatur einzulesen.Führen Sie eine Eingabekontrolle aus,die garantiert,dass a>0 ist.Geben Sie für alle z des Intervalls [a,a+150],die Quersumme und ihre Summanden aus.Falls die Quersumme durch 9 teilbar ist,berechnen Sie qz/9 und z/9 und machen entsprechende Ausgaben.


    ich habe Programm geschrieben,Complieren ist ok,aber es gibt immer Fehler im Laufen.
    kann jemand mir helfen? danke


    Code :
    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
    
    class Quersumme
    {
        public static void main(String args[])
        {
            int a,b,z,qz,summe,qz1,z1;
            a=8;
            b=158;
            z=IO1.einint();
            qz=0;
            summe=0;
            if(a<=z&&z<=b)
            
            for (z=a;z<b;z=z+1)
            {
            
                while(z!=0)
                {
                    qz=qz+z%10;
                    z=z/10;
                    
                }
                
             
             
                   
             
                     if (qz%9==0)
                     {
                    qz1=qz/9;
                    z1=z/9;
                    System.out.println(qz1);
                    System.out.println(z1);
                     }  
             
             System.out.println("die Quersumme ist:"+qz);
             System.out.println("Summe ist:"+summe);
            } 
                
             
            
        }
    }
     

  2. #2
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Hallo,

    eine Erklärung wie sich der Fehler bemerkbar macht, wäre nicht schlecht. Ein andere Titel wäre auch nicht schlecht gewesen, da der Thread auch anderen Hilfreich sein könnte.

    MFG

    zEriX
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  3. #3
    Soulfly2111 Soulfly2111 ist offline Mitglied
    Registriert seit
    Nov 2007
    Beiträge
    12
    Du dividierst z immer wieder durch 10 --> Dadurch entsteht eine Endlosschleife
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    for (z=a;z<b;z=z+1)
      {
         while(z!=0)
          {
        qz=qz+z%10;
        z=z/10;             
        }
    ....

    Und das dein Programm die Quersumme über das Intervall z=[a,a+150] nicht korrekt
    berechnet ist dir hoffentlich klar
    Also wenn ich das richtig verstanden soll es sowas wie
    a = 1 --> z[1,151]

    1 = quers: 1
    2 = quers: 3
    3 = quers: 6
    --
    Aufsummierung der Quersummen im Intervall.
    Wenn ja
    hier:
    (z ist der Eingabewert..
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
     public static void main(String args[])
        {
            int z,qz,qz1,z1;
            z=1;      
            qz=0;
            if(z>0) {
                for (int i=z ; i <= (z + 150 ) ; i++)
                {                
                    System.out.print("z" + i);
                    int quer = i;
                    while(quer!=0)
                    {
                        qz+=quer%10;                 
                        quer=quer/10;
                    }
                    System.out.print("|Quersumme :"+qz);
                    System.out.println("");
                }
            }
        }

    Ausgabe:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    z1|Quersumme :1
    z2|Quersumme :3
    z3|Quersumme :6
    z4|Quersumme :10
    z5|Quersumme :15
    z6|Quersumme :21
    z7|Quersumme :28
    z8|Quersumme :36
    z9|Quersumme :45
    z10|Quersumme :46
    z11|Quersumme :48
    z12|Quersumme :51
    z13|Quersumme :55
    z14|Quersumme :60
    z15|Quersumme :66
    z16|Quersumme :73
    z17|Quersumme :81
    z18|Quersumme :90
    z19|Quersumme :100
    z20|Quersumme :102
    .....
    Geändert von Soulfly2111 (12.11.07 um 17:01 Uhr)
     

  4. #4
    jose1219 jose1219 ist offline Grünschnabel
    Registriert seit
    Nov 2007
    Beiträge
    2
    vielen dank

    aber die Quersumme haben Sie falsch verstanden.

    z.B,die Quersumme der 156 ist qz=1+5+6=12

    Sie haben die Quersumme von 1 bis 9 falsch gerechnet...

    trotz danke...
     

  5. #5
    Soulfly2111 Soulfly2111 ist offline Mitglied
    Registriert seit
    Nov 2007
    Beiträge
    12
    Ich dachte, die Quersummen soll über das Intervall aufsummiert werden.

    z = 1:
    intervall(1,1)
    Aufsummierung der Quersumme 1 :
    z = 2
    intervall(1,2)
    Aufsummierung der Quersumme z1=1 + z2=2 = 3:
    z = 2
    intervall(1,3)
    Aufsummierung der Quersumme z1=1 + z2=2 + z3=3 = 6:
    ...

    Habe da wohl was falsch verstanden. Naja aber eine Quersumme - soviel Wissen traue mir schon zu
    Geändert von Soulfly2111 (12.11.07 um 19:04 Uhr)
     

Ähnliche Themen

  1. Finde den Fehler nicht
    Von Wipeout im Forum PHP
    Antworten: 6
    Letzter Beitrag: 17.04.09, 10:17
  2. Finde fehler nicht!
    Von benija im Forum Java
    Antworten: 1
    Letzter Beitrag: 11.11.07, 04:13
  3. Antworten: 6
    Letzter Beitrag: 06.08.07, 14:03
  4. Finde den Fehler nicht.
    Von Lt_Hawk im Forum PHP
    Antworten: 6
    Letzter Beitrag: 22.05.05, 20:09
  5. Finde den Fehler nicht
    Von Bushman im Forum PHP
    Antworten: 1
    Letzter Beitrag: 15.02.02, 21:39