Βίντεο: PHP for Web Development 2025
Εδώ είναι ένα αίνιγμα της Γάζας: Έχετε δύο ομάδες μπέιζμπολ - τους Hankees και τις Κάλτσες. Θέλετε να εμφανίσετε τις βαθμολογίες των ομάδων σε δύο ξεχωριστές γραμμές, με την πρώτη εγγραφή του νικητή. (Στην οθόνη του υπολογιστή, η βαθμολογία του νικητή εμφανίζεται πάνω από το σκορ του ηττημένου.) Τι συμβαίνει όταν τα αποτελέσματα βαθμολογούνται;
Να παραιτηθείς; Η απάντηση είναι ότι δεν υπάρχει σωστή απάντηση. Αυτό που συμβαίνει εξαρτάται από τον τρόπο που γράφετε το πρόγραμμα. Όταν οι βαθμολογίες είναι ίσες, η προϋπόθεση
hankees> κάλτσες
είναι
ψευδής
. Επομένως, η ροή εκτέλεσης του προγράμματος πέφτει στη ρήτρα
else
. Αυτή η ρήτρα εμφανίζει πρώτα το σκορ του Socks και το δεύτερο το Hankees.
importjava. χρήσιμο. Ερευνητής;
εισαγάγετε στατική java. lang. Σύστημα. σε;
εισαγάγετε στατική java. lang. Σύστημα. έξω;
classTwoTeams {
δημόσιο static void main (String args []) {
πληκτρολόγιο σαρωτή = νέος σαρωτής (σε )?
inthankees, κάλτσες?
έξω. print ("βαθμολογίες Hankees και κάλτσες;");
hankees = πληκτρολόγιο. nextInt ();
κάλτσες = πληκτρολόγιο. nextInt ();
έξω. println ();
εάν (hankees> κάλτσες) {
έξω. εκτύπωση ("Hankees:");
έξω. println (χανκς);
έξω. εκτύπωση ("Κάλτσες:");
έξω. println (κάλτσες);
} αλλιώς {
έξω. εκτύπωση ("Κάλτσες:");
έξω. println (κάλτσες);
έξω. εκτύπωση ("Hankees:");
έξω. println (χανκς);
}
πληκτρολόγιο. Κοντά();
}
}
Το πρόγραμμα δεν χρειάζεται να λειτουργεί με αυτόν τον τρόπο. Εάν παίρνετε αυτόν τον κωδικό και αλλάζετε
hankees> κάλτσες
σε
hankees> = κάλτσες
, τότε, σε περίπτωση ισοπαλίας, η βαθμολογία Hankees έρχεται πρώτη.
Ας υποθέσουμε ότι θέλετε λίγο περισσότερο έλεγχο. Όταν τα αποτελέσματα είναι ίσα, θέλετε να δείτε ένα μήνυμα
Είναι ένα tie
μήνυμα. Για να το κάνετε αυτό, σκεφτείτε από την άποψη ενός τρισδιάστατου πιρουνιού. Έχετε ένα χτύπημα για μια νίκη Hankees, ένα άλλο χτύπημα για μια νίκη Socks, και ένα τρίτο χτύπημα για μια ισοπαλία. Μπορείτε να γράψετε αυτόν τον κώδικα με διάφορους τρόπους, αλλά ένας τρόπος που κάνει πολύ νόημα είναι ο παρακάτω κώδικας.
εισαγωγή java. χρήσιμο. Ερευνητής;
εισαγάγετε στατική java. lang. Σύστημα. έξω;
class WinLoseOrTie {
δημόσιο static void main (String args []) {
πληκτρολόγιο σαρωτή = νέος σαρωτής (System in);
int hankees, κάλτσες?
έξω. print ("βαθμολογίες Hankees και κάλτσες;");
hankees = πληκτρολόγιο. nextInt ();
κάλτσες = πληκτρολόγιο. nextInt ();
έξω. println ();
αν (hankees> κάλτσες) {
έξω. println ("Χάνκειες κερδίζουν …")?
έξω. εκτύπωση ("Hankees:");
έξω. println (χανκς);
έξω. εκτύπωση ("Κάλτσες:");
έξω. println (κάλτσες);
} άλλο αν (κάλτσες> hankees) {
έξω.println ("Κάλτσες νίκη …")?
έξω. εκτύπωση ("Κάλτσες:");
έξω. println (κάλτσες);
έξω. εκτύπωση ("Hankees:");
έξω. println (χανκς);
} άλλο {
έξω. println ("Είναι μια γραβάτα …");
έξω. εκτύπωση ("Hankees:");
έξω. println (χανκς);
έξω. εκτύπωση ("Κάλτσες:");
έξω. println (κάλτσες);
}
πληκτρολόγιο. Κοντά();
}
}
Αυτός ο κώδικας δείχνει έναν τρόπο σκέψης για ένα πρόβλημα. Έχετε μία ερώτηση με περισσότερες από δύο απαντήσεις. (Το ερώτημα είναι "Ποιος κερδίζει;" και οι απαντήσεις είναι "Hankees", "Κάλτσες" ή "Ούτε".) Το πρόβλημα ικετεύει για μια εντολή if, αλλά μια δήλωση
if
ο κλάδος
true
και ο κλάδος
false
. Έτσι συνδυάζετε εναλλακτικές λύσεις για να σχηματίσουν cascading
αν οι δηλώσεις
.
) { SomeStatements
} αν η (
Κατάσταση2
)
Άλλα στοιχεία } αλλιώς { EvenMoreStatements
}
:
αν
(hankeesWin)
{
έξω. println ("Χάνκειες κερδίζουν …")?
έξω. println (χανκς); έξω. εκτύπωση ("Κάλτσες:"); έξω. println (κάλτσες);
} αλλιώς αν
(socksWin)
{
έξω. println ("Κάλτσες νίκη …")?
έξω. εκτύπωση ("Κάλτσες:"); έξω. println (κάλτσες); έξω. εκτύπωση ("Hankees:");
} άλλο αν
(isATie)
{
έξω. εκτύπωση ("Hankees:");
έξω. println (χανκς); έξω. εκτύπωση ("Κάλτσες:"); έξω. println (κάλτσες);
} αλλιώς αν
(gameCancelled)
{
έξω. println ("Λυπάμαι, φίλαθλοι");
} αλλιώς { έξω. println ("Το παιχνίδι δεν έχει τελειώσει ακόμα");
Τίποτα δεν είναι ξεχωριστό για την κατάδυση
αν οι δηλώσεις
. Αυτό δεν είναι ένα νέο χαρακτηριστικό της γλώσσας προγραμματισμού. Cascading
επωφεληθούν από ένα κενό στην Java - ένα παραθυράκι για την παράλειψη σγουράδων σε ορισμένες περιπτώσεις. Εκτός από αυτό, οι επικεφαλίδες
αν οι δηλώσεις
σας δίνουν μόνο έναν νέο τρόπο να σκεφτείτε τις αποφάσεις μέσα στον κώδικα σας.