2015-06-03 9 views
4
Scanner input = new Scanner(System.in); 

Не могли бы вы дать мне подробное объяснение того, что делает вышеперечисленный код шаг за шагом? Я не очень понимаю, как это работает, и как она связана со мной позже быть в состоянии сделать это заявление:Что на самом деле означает Scanner input = новый сканер (System.in)?

int i = input.nextInt() 
+3

Знаете ли вы, что означает 'class' на Java? – moffeltje

+4

Как насчет того, чтобы начать с документов Oracle! :) –

+0

http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html – Gosu

ответ

2

Хорошо, давайте рассмотрим несколько упрощенных объяснений относительно класса Scanner.

Это стандартный класс Oracle, который вы можете использовать, позвонив по номеру import java.util.Scanner.

Так давайте создадим простой пример класса:

class Scanner{ 
    InputStream source; 

    Scanner(InputStream src){ 
     this.source = src; 
    } 

    int nextInt(){ 
     int nextInteger; 
     //Scans the next token of the input as an int from the source. 
     return nextInteger; 
    } 
} 

Теперь, когда вы звоните Scanner input = new Scanner(System.in); вы сделаете новый объект Scanner класса (так что вы сделать новый «Сканер»), и вы храните его в переменная input. В то же время вы вызываете (так называемый) constructor класса с параметром System.in. Это означает, что он будет считываться из стандартного входного потока программы.

Теперь, когда вы вызываете input.nextInt();, вы выполняете метод из только что созданного объекта (также documented). Но, как мы видим, этот метод возвращает целое число, так что, если мы хотим использовать это целое число, мы должны назначить вызов переменного, как вы делаете:

int i = input.nextInt(); 
2

Scanner input = new Scanner(System.in); создает экземпляр новыйScanner, который указывает на входного потока в переданного в качестве аргумента. В вашем случае пар равен Стандартный поток ввода.

Таким образом, как только ваш экземпляр сканера указывает на него, вы можете сканирования поток и получить integers, strings и делать другие вещи.

0
Scanner input = new Scanner(System.in); 

Создает новый объект типа Scanner из стандартного ввода программы (в данном случае, вероятно, консоль) и

int i = input.nextInt() 

использует nextInt метод этого объекта, который позволяет вам введите некоторый текст, и он будет разобран в целое число.

0

Сканер S = новый сканер (System.in);

Выше мы создаем объект класса сканера, который определяется в import java.util.scanner. класс сканера позволяет пользователю вводить консоль ввода.

System.in передано как параметр в классе сканера, будет сообщать о вводе системы java-компилятора через консоль (клавиатура).