Σε αυτό το πρόγραμμα, θα μάθετε να μετράτε τον αριθμό των ψηφίων χρησιμοποιώντας ένα loop loop και για loop σε Java.
Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες εφαρμογές προγραμματισμού Java:
- Τύποι δεδομένων Java (Primitive)
- Java ενώ και κάνουμε… ενώ Loop
- Java για βρόχο
Παράδειγμα 1: Μετρήστε τον αριθμό των ψηφίων σε έναν ακέραιο χρησιμοποιώντας το loop while
public class Main ( public static void main(String() args) ( int count = 0, num = 0003452; while (num != 0) ( // num = num/10 num /= 10; ++count; ) System.out.println("Number of digits: " + count); ) )
Παραγωγή
Αριθμός ψηφίων: 4
Σε αυτό το πρόγραμμα, while
ο βρόχος επαναλαμβάνεται έως ότου η δοκιμαστική έκφραση num != 0
αξιολογηθεί σε 0 (false).
- Μετά την πρώτη επανάληψη, ο αριθμός διαιρείται με το 10 και η τιμή του θα είναι 345. Στη συνέχεια, ο αριθμός αυξάνεται στο 1.
- Μετά τη δεύτερη επανάληψη, η τιμή του αριθμού θα είναι 34 και ο αριθμός αυξάνεται στο 2.
- Μετά την τρίτη επανάληψη, η τιμή του αριθμού θα είναι 3 και η μέτρηση αυξάνεται στο 3.
- Μετά την τέταρτη επανάληψη, η τιμή του αριθμού θα είναι 0 και η μέτρηση αυξάνεται στο 4.
- Στη συνέχεια, η δοκιμαστική έκφραση αξιολογείται ως ψευδής και ο βρόχος τερματίζεται.
Σημείωση : Το πρόγραμμα αγνοεί το μηδέν που υπάρχει πριν από τον αριθμό. Ως εκ τούτου, για ψηφία όπως το 000333, η έξοδος θα είναι 3.
Παράδειγμα 2: Αριθμός μετρήσεων ψηφίων σε έναν ακέραιο που χρησιμοποιείται για βρόχο
public class Main ( public static void main(String() args) ( int count = 0, num = 123456; for (; num != 0; num /= 10, ++count) ( ) System.out.println("Number of digits: " + count); ) )
Παραγωγή
Αριθμός ψηφίων: 6
Σε αυτό το πρόγραμμα, αντί να χρησιμοποιούμε ένα loop loop, χρησιμοποιούμε ένα for loop χωρίς κανένα σώμα.
Σε κάθε επανάληψη, η τιμή του αριθμού διαιρείται με 10 και ο αριθμός αυξάνεται κατά 1.
Ο for
βρόχος βγαίνει όταν num != 0
είναι ψευδής, δηλαδή num = 0.
Δεδομένου ότι ο for
βρόχος δεν έχει σώμα, μπορείτε να τον αλλάξετε σε μία δήλωση στην Java ως εξής:
για (; num! = 0; num / = 10, ++ count);