Axelfc Δημοσ. 15 Νοεμβρίου 2004 Δημοσ. 15 Νοεμβρίου 2004 Προσπαθω να διαβασω εναν απλο ακεραιο απο την κονσολα χρησιμοποιωντας τη Java. ομως αλλο του δινω εγω και αλλο εκτυπωνει. Οριστε ο κωδικας: > import java.io.*; public class ConsoleInput { public static void main(String[] args) throws IOException { try { System.out.print ("Type an integer: "); int val = System.in.read(); System.out.println ("You typed: " +val); } catch (IOException e) { System.out.println ("IOException: " +e); } } } Τι κανω λαθος;
Dionisos Δημοσ. 16 Νοεμβρίου 2004 Δημοσ. 16 Νοεμβρίου 2004 Ri3e mia matia sto javaworld sto ar8ro Shell game: Read user input directly from the command line in Java D.
Γηρυόνης Δημοσ. 17 Νοεμβρίου 2004 Δημοσ. 17 Νοεμβρίου 2004 Το in.read() διαβάζει ένα byte κάθε φορά, οπότε αυτό που στην ουσία θα εκτυπώσεις είναι η τιμή του byte που διάβασες και όχι ο πραγματικός αριθμός. Αν θέλεις να διαβάζεις τον πραγματικό αριθμό (ή ό,τιδήποτε άλλο) θα πρέπει να "τυλίξεις" το InputStream σε BufferedReader και να χρησιμοποιήσεις αυτό. Αντικετέστησε αυτή τη γραμμή > int val = System.in.read(); με αυτές > BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String val = in.readLine();
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.