Βίντεο: CS50 Live, Episode 003 2024
Οποιοσδήποτε βρόχος δημιουργείτε στην Java μπορεί να σας δοθεί ένα όριο στο runtime. Ως ιδιοκτήτης ενός μοτέλ, μπορεί να θέλετε μια πιο συνοπτική αναφορά από αυτή. «Μη μου δίνετε μια μακρά λίστα δωματίων», λέτε. "Απλά δώστε μου τον αριθμό των επισκεπτών στην αίθουσα 3." Για να πάρετε μια τέτοια έκθεση, χρειάζεστε ένα ελαφρώς έξυπνο πρόγραμμα.
εισαγωγή java. χρήσιμο. Ερευνητής; εισαγωγή java. io. Αρχείο; εισαγωγή java. io. FileNotFoundException; εισαγάγετε στατική java. lang. Σύστημα. έξω; δημόσια τάξη ShowOneRoomOccupancy {δημόσιο static κενό main (String args []) ρίχνει FileNotFoundException {πληκτρολόγιο σαρωτή = νέο σαρωτή (System.in); Scanner diskScanner = νέος σαρωτής (νέο αρχείο ("occupancy")); int whichRoom; έξω. print ("Ποιο δωμάτιο;"); whichRoom = πληκτρολόγιο. nextInt (); για το (int roomNum = 0; roomNum; roomNum ++) {diskScanner. nextInt ();} έξω. εκτύπωση ("αίθουσα"); έξω. print (whichRoom); έξω. εκτύπωση ("έχει"); έξω. εκτύπωση (diskScanner, nextInt ()); έξω. println ("φιλοξενούμενοι"). πληκτρολόγιο. Κοντά(); diskScanner. close ();}}
Αν αυτός ο κώδικας έχει ηθική, είναι ότι ο αριθμός των iterations για τις επαναλήψεις βρόχων μπορεί να διαφέρει από τη μία εκτέλεση στην άλλη. Ο βρόχος σε αυτόν τον κώδικα λειτουργεί ανά και για όσο διάστημα το μεταβλητό αριθμό μέτρησης είναι μικρότερο από τον αριθμό δωματίου που καθορίζεται από το χρήστη.
Όταν το roomNum είναι το ίδιο με τον αριθμό που καθορίζει ο χρήστης (δηλαδή όταν το roomNum είναι το ίδιο με το οποίοRoom), ο υπολογιστής ξεπερνάει τον βρόχο. Στη συνέχεια, ο υπολογιστής αρπάζει μια ακόμα τιμή int από το αρχείο κατοχής και εμφανίζει αυτή την τιμή στην οθόνη.
Καθώς κοιτάζετε τις διαδρομές του προγράμματος, είναι σημαντικό να θυμάστε την ασυνήθιστη αρίθμηση των δωματίων. Το δωμάτιο 3 έχει δύο επισκέπτες, επειδή το δωμάτιο 3 είναι το τέταρτο δωμάτιο στο αρχείο πληρότητας. Αυτό συμβαίνει επειδή τα δωμάτια του μοτέλ είναι αριθμημένα από 0 έως 9.