Я добавляю свой собственный ответ только потому, что все остальные полностью закрыли платформу.
Я задавался вопросом, какой путь лучше уже давно, и благодаря http : //jsperf.com теперь я знаю:)
[/g1]
Объявление функций происходит быстрее, и это то, что действительно имеет значение в web dev right ? ;)
В конструкторе для BufferedReader
необходимо указать InputStreamReader
. InputStreamReader
превращает байтовые потоки в потоки символов. Как упоминалось выше, следует учитывать исключения, которые могут быть выбраны из этой части кода, такие как исключение IOException и исключение NumberFormatException.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("input a number");
int n = Integer.parseInt(br.readLine());
Попробуйте следующее:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("input a number");
try{
int n = Integer.parseInt(br.readLine());
} catch (IOException e) {e.printStackTrace();}
DataInputStream br=new DataInputStream(System.in);
System.out.println("input a number");
int n=Integer.parseInt(br.readLine(System.in));
попробуйте это
BufferedReader br = new BufferedReader(System.in);
String a=br.readLine()
Integer x = Integer.valueOf(a);
System.out.println(x);//integer value
При использовании BufferedReader
вы должны позаботиться об исключениях, которые он может бросить. Кроме того, метод Integer.parseInt(String s)
может вызывать NumberFormatException
, если String
, который вы предоставляете, не может быть преобразован в Integer
.
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while ((thisLine = br.readLine()) != null) {
System.out.println(thisLine);
Integer parsed = Integer.parseInt(thisLine);
System.out.println("Parsed integer = " + parsed);
}
} catch (IOException e) {
System.err.println("Error: " + e);
} catch (NumberFormatException e) {
System.err.println("Invalid number");
}
попробуйте этот путь
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String input = reader.readLine();
int n=Integer.parseInt(input);