Artur 52 wyśw. 03-07-2025 11:42

Praca domowa 2 zad 18

18. Napisz program, w którym zdefiniowana jest początkowo jedna zmienna typu całkowitego, która
jest liczbą naturalną, a program wyświetla na ekranie ile dana liczba ma cyfr.


 int liczba=12345;
        System.out.println("Wybrana liczba naturalna: "+liczba);
        int ile=1;
        for(int i=1; i < liczba; i++)
        {
            if(i > 9)
            {
                ile++;
                break;
            }
        }
        
        for(int i=1; i < liczba; i++)
        {
            if(i > 99)
            {
                ile++;
                break;
            }
        }
        
         for(int i=1; i < liczba; i++)
        {
            if(i > 999)
            {
                ile++;
                break;
            }
        }
         for(int i=1; i < liczba; i++)
        {
            if(i > 9999)
            {
                ile++;
                break;
            }
        }
        System.out.println("Liczba "+liczba+" ma "+ile+" cyfr.");


W jaki sposób mógłbym zapętlić ten program tak, aby działał nie także dla liczb większych niż 5 - cyfrowe?


Programowanie Dodaj post do ulubionych Poproś o pomoc
s.gugula 04-07-2025 10:57

No ćóż, jeśli robisz to w ten sposób, to można dołożyć kolejne ify, ale w istocie nie jest to optymalne rozwiązanie. Warto zerknąć do podanego rozwiązania, tam jest to zrobione w bardziej "uniwersalny" sposób.