1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

[Java] HabbyNumbers - Endlosschleife

Discussion in 'Programmieren' started by kizz, Nov 27, 2006.

Thread Status:
Not open for further replies.
  1. kizz

    kizz ROM

    Hallo Java-Volk.

    ich brüte seit 3 Tagen über ein Problem. Ich bin an einem Punkt angelangt wo ich den Wald vor lauter Bäumen nicht mehr sehe. Ich denke, dass wäre klug sich Hilfe von Außen zu holen.


    Ich soll ein Programm schreiben, welches alle Zahlen bis zur eingegebenen Zahl überprüft, ob es eine fröhliche oder traurige Zahl ist.

    Leider verfängt sich das Programm bei jeder Eingabe in eine Endlosschleife.
    Da ich keinen Debugger habe (und auch keine Ahnung davon), fällt es mir schwer den Fehler zu finden.

    Schon mal vielen Dank an euch.


    Code:
    class HappyNumbers
    {
    	public static void main(String[] args)
    	{
    	
    		int eingabe = Integer.parseInt(args[0]);
    		int zahl = 0;
    		int quad = 0;
    		int summe = 0;
    		
    		
    		for(int counter = 2; counter <= eingabe; counter++)
    		{
    			zahl = counter;
    			
    			while(summe != 1 || summe != 4)
    			{
    				if(zahl < 10)
    					summe = zahl * zahl;
    				else
    				{
    					summe = 0;
    					while(zahl >= 10)
    					{
    						quad = zahl % 10;
    						summe = quad * quad + summe;
    						zahl = (int)(zahl / 10);
    					}
    					summe = zahl * zahl + summe;
    				}
    				zahl = summe;
    			}
    			if(summe == 1)
    				System.out.printf("%d ist froehlich \n", counter);
    			else
    				System.out.printf("%d ist traurig \n", counter);
    		}
    	}
    }
     
  2. kizz

    kizz ROM

    Das Problem ist gelöst, danke dennoch.

    Lösung: aus while(summe !=1 || summe != 4) muss && werden.
    Nach der Ausgabe Ergebins zurück setzen.
     
Thread Status:
Not open for further replies.

Share This Page