Προς το περιεχόμενο

Console Input σε Java


Axelfc

Προτεινόμενες αναρτήσεις

Δημοσ.

Προσπαθω να διαβασω εναν απλο ακεραιο απο την κονσολα χρησιμοποιωντας τη 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);
 }  
 }
}

Τι κανω λαθος;

Δημοσ.

Το in.read() διαβάζει ένα byte κάθε φορά, οπότε αυτό που στην ουσία θα εκτυπώσεις είναι η τιμή του byte που διάβασες και όχι ο πραγματικός αριθμός. Αν θέλεις να διαβάζεις τον πραγματικό αριθμό (ή ό,τιδήποτε άλλο) θα πρέπει να "τυλίξεις" το InputStream σε BufferedReader και να χρησιμοποιήσεις αυτό. Αντικετέστησε αυτή τη γραμμή

 

>
int val = System.in.read();

 

με αυτές

 

>
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 
String val = in.readLine();

Αρχειοθετημένο

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

  • Δημιουργία νέου...