alan2 Δημοσ. 2 Μαΐου 2013 Δημοσ. 2 Μαΐου 2013 προσπαθώ να διαβάσω είσοδο του χρήστη με αυτο import java.io.Console;public class Console6 { public static void main(String[] args) { Console console = System.console(); String username = console.readLine("User name: "); console.printf("Welcome, %1$s.", username); } } το String username = console.readLine("User name: "); κανει" Exception in thread "main" java.lang.NullPointerException at Console6.main(Console6.java:11)" είναι λάθος?
migf1 Δημοσ. 2 Μαΐου 2013 Δημοσ. 2 Μαΐου 2013 Σωστό φαίνεται αλλά πρέπει να το τρέξεις από command-line prompt για να παίξει σίγουρα (μάλλον το τρέχεις μέσα από IDE που δεν παρέχει περιβάλλον κονσόλας για I/O, οπότε η console σου είναι null... δηλαδή επιχειρεί να κάνει: null.readLine() ). Αν είσαι με Notepad++ και το τρέχεις στην NppExec κονσόλα του, αντί για... java Console6 γράψε... npp_run java Console6 Για πιο γενική λύση, αντί για Console δοκίμασε με InputStreamReader και BufferedReader, δες κι εδώ: http://stackoverflow.com/questions/10963765/system-console-nullpointerexception EDIT: Βασικά, τώρα που το ξανασκέφτομαι, με Scanner είναι μάλλον πιο εύκολο... import java.util.Scanner; public class Console6 { public static void main( String[] args ) { Scanner input = new Scanner(System.in); System.out.print( "User name: " ); String username = input.nextLine(); System.out.println( "Welcome " + username + "." ); System.out.print( "\npress ENTER..." ); input.nextLine(); } } 3
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα