Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> Προγραμματισμός Java

Πώς λαμβάνετε είσοδο διπλής αξίας στον προγραμματισμό Java;

Υπάρχουν διάφοροι τρόποι για να λάβετε εισροή διπλής αξίας στον προγραμματισμό Java, ανάλογα με το αν διαβάζετε από την κονσόλα ή από ένα αρχείο.

1. Χρησιμοποιώντας το "Scanner` (για είσοδο κονσόλας):

Αυτή είναι η πιο συνηθισμένη μέθοδος για τη λήψη εισόδου χρήστη από την κονσόλα.

`` `java

Εισαγωγή java.util.scanner;

δημόσια τάξη DoubleInput {

δημόσιο στατικό κενό κύριο (String [] args) {

Scanner Scanner =νέος σαρωτής (System.in);

System.out.print ("Εισάγετε μια διπλή τιμή:");

// Χρησιμοποιήστε το nextDouble () για να διαβάσετε ένα διπλό

διπλό διπλόValue =scanner.NextDouble ();

System.out.println ("Εισήγαγες:" + DoubleValue);

scanner.close (); // ΣΗΜΑΝΤΙΚΟ:Κλείστε τον σαρωτή όταν τελειώσετε

}

}

`` `

Σημαντικές εκτιμήσεις με «σαρωτή»:

* Χειρισμός σφαλμάτων: `nextDouble ()` ρίχνει ένα `inputMistatchException` αν ο χρήστης εισάγει κάτι που δεν είναι έγκυρο διπλό (π.χ. κείμενο). Θα πρέπει να χειριστείτε αυτήν την εξαίρεση χρησιμοποιώντας ένα μπλοκ `try-catch` για να αποτρέψετε τη συντριβή του προγράμματος:

`` `java

Εισαγωγή java.util.inputmismatchException;

Εισαγωγή java.util.scanner;

δημόσια τάξη DoubleInputWithExceptionHandling {

δημόσιο στατικό κενό κύριο (String [] args) {

Scanner Scanner =νέος σαρωτής (System.in);

System.out.print ("Εισάγετε μια διπλή τιμή:");

διπλή διπλής αξιοπιστίας.

Δοκιμάστε {

doubleValue =scanner.NextDouble ();

} catch (inputMistatchException e) {

System.out.println ("Μη έγκυρη είσοδος. Εισαγάγετε ένα έγκυρο διπλό.");

scanner.next (); // καταναλώνετε την μη έγκυρη είσοδο

απόδοση; // ή χειριστείτε το σφάλμα με άλλο τρόπο

}

System.out.println ("Εισήγαγες:" + DoubleValue);

scanner.close ();

}

}

`` `

* `scanner.next ()`: Το `scanner.next ()` Κλήση μέσα στο μπλοκ `catch` είναι κρίσιμο. Εάν εμφανιστεί μια `InputMistatchException`, η μη έγκυρη είσοδος παραμένει στο buffer του 'Scanner'. `scanner.next ()` καταναλώνει αυτήν την άκυρη είσοδο, επιτρέποντας στο πρόγραμμα να προτρέψει ξανά τον χρήστη χωρίς να κολλήσει σε άπειρο βρόχο.

2. Χρησιμοποιώντας το `bufferedreader` (για την κονσόλα ή την είσοδο αρχείου):

Το `bufferedreader` είναι πιο αποτελεσματικό για μεγάλες εισροές, αλλά απαιτεί περισσότερη χειροκίνητη ανάλυση.

`` `java

Εισαγωγή java.io.bufferedreader;

Εισαγωγή java.io.ioexception;

εισαγωγή java.io.inputstreamreader;

δημόσια τάξη DoubleInputBufferedReader {

δημόσιο στατικό κενό κύριο (String [] args) {

BufferedReader Reader =νέο BufferedReader (New InputStreamReader (System.in));

System.out.print ("Εισάγετε μια διπλή τιμή:");

Δοκιμάστε {

Εισόδου συμβολοσειράς =Reader.readline ();

διπλή διπλής αξιολόγησης =double.parsedouble (είσοδος);

System.out.println ("Εισήγαγες:" + DoubleValue);

} catch (iOexception e) {

System.out.println ("Εισαγωγή ανάγνωσης σφαλμάτων:" + e.getMessage ());

} catch (αριθμόςFormateXception e) {

System.out.println ("Μη έγκυρη είσοδος. Εισαγάγετε ένα έγκυρο διπλό.");

}

}

}

`` `

Αυτή η μέθοδος χρησιμοποιεί `double.parsedouble ()` για να μετατρέψει την είσοδο συμβολοσειράς σε ένα διπλό. Περιλαμβάνει επίσης τη διαχείριση σφαλμάτων τόσο για «IoException» (σφάλμα εισόδου/εξόδου) όσο και για `numberFormateXception` (μη έγκυρη μορφή αριθμού).

3. Επιχειρήματα γραμμής εντολών:

Μπορείτε να περάσετε μια διπλή τιμή ως επιχείρημα γραμμής εντολών κατά την εκτέλεση του προγράμματος Java.

`` `java

δημόσια τάξη DoubleInputCommandline {

δημόσιο στατικό κενό κύριο (String [] args) {

αν (args.length> 0) {

Δοκιμάστε {

διπλή διπλής αξιοπιστίας =double.parsedouble (args [0]);

System.out.println ("Εισήγαγες:" + DoubleValue);

} catch (αριθμόςFormateXception e) {

System.out.println ("Μη έγκυρη είσοδος.

}

} αλλιώς {

System.out.println ("Παρακαλούμε να δώσετε μια διπλή τιμή ως επιχείρημα γραμμής εντολών.");

}

}

}

`` `

Θυμηθείτε να συντάξετε και να εκτελέσετε αυτό από το τερματικό σας ως εξής:`Java DoubleInputCommandline 3.14159`

Επιλέξτε τη μέθοδο που ταιριάζει καλύτερα στις ανάγκες σας και θυμηθείτε να συμπεριλάβετε πάντα τον ισχυρό χειρισμό σφαλμάτων για να κάνετε το πρόγραμμά σας πιο ανθεκτικό. Η προσέγγιση «Scanner» προτιμάται γενικά για την απλότητα και τις ενσωματωμένες δυνατότητες χειρισμού σφαλμάτων κατά τη λήψη εισροών από την κονσόλα. Το `bufferedreader` προσφέρει καλύτερη απόδοση για μεγάλα αρχεία. Τα επιχειρήματα γραμμής εντολών είναι χρήσιμα για την παροχή εισόδου κατά την εκτέλεση του προγράμματος από το τερματικό.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα