java.util.Scanner java5 новые функции, мы можем получить ввод пользователя с помощью класса Scanner.
Вот основной синтаксис для создания объекта сканера:
Сканер = новый сканер (System.in);
Далее мы продемонстрируем простой строку ввода и получить строку ввода с помощью следующего класса сканера () и nextLine () метод:
// создание объектов сканера
Сканер = новый сканер (System.in);
System.out.print ( «с использованием метода следующий () приема данных, вводимых пользователем:»);
Строка ул = scanner.next ();
System.out.println ( "пользовательский ввод строка:" + ул);
// Закрыть Сканер объекта
scanner.close ();
Выход:
Три строки ввода феи, монстр, спасибо , разделенный пробел, мы обнаружили , что только выход первого слова: Fairy
следующих методы , чтобы попытаться использовать nextLine ():
// создание объектов сканера
Сканер = новый сканер (System.in);
( "Метод использования nextLine () приема данных, вводимых пользователем:") System.out.println;
Строка ул = scanner.nextLine ();
System.out.println ( "пользовательский ввод строка:" + ул);
// Закрыть Сканер объекта
scanner.close ();
Выход становится:
Ниже приводится краткое резюме по следующей () и nextLine () разнице
следующей ():
1, если вы только ввести возврат каретки, программа будет продолжать ждать ввода, чтобы прочитать до конца допустимых символов , прежде чем они смогут войти,
2, следующий () метод автоматически удаление пустой (возврат пробельные / каретки, и т.д.) до допустимого символа
3, действительны только ввести пустой символ позади после ввода в качестве разделителя или терминатора.
Следующая () Строка с пробелами не может быть получена.
nextLine ():
1, для того , чтобы ввести в конец символа, то есть метод nextLine () возвращает все символы перед нажмите клавишу ввода.
2, вы можете получить пустой
Для ввода данных типа Int или с плавающей точкой, в классе Scanner также поддерживаются, но предпочтительно использовать hasNextXxx () метод был проверен перед входом, повторно использовать nextXxx () следующим образом:
Сканер = новый сканер (System.in);
// получить данные, введенные с клавиатуры:
INT intNum = 0;
плавать floatNum = 0.0f;
System.out.print ( "прием пользовательского ввода целое число:");
если (scanner.hasNextInt ()) {// определяет, является ли входной целым числом
intNum = scanner.nextInt (); // целое число, принимающее
System.out.println ( "пользовательский ввод представляет собой целое число:" + intNum);
} Еще {
// ввести неправильную информацию
System.out.println ( «вход не является целым числом!»);
}
System.out.print ( "дробная вход принимающего пользователя:");
если (scanner.hasNextFloat ()) {// определяет, является ли вход десятичного
floatNum = scanner.nextFloat (); // десятичного приема
System.out.println ( "вход дробно пользователь:" + floatNum);
} Еще {
// ввести неправильную информацию
System.out.println ( "не входят десятичные!");
}
scanner.close ();
Если в сочетании с петлей в то время, проверка контура также не может быть достигнута до правильной функции:
Входной Сканер = новый сканер (System.in);
INT Num;
System.out.println ( «Пожалуйста, введите целое число число:»);
в то время как (! input.hasNextInt ()) {
System.out.println ( «вход не является целым числом, пожалуйста, повторно ввести:»);
После того, как суд // hasNextInt не является целым числом, кэш все еще существует на входе пользователя
// Если судья hasNext .. опять же, результат будет еще не целое число
// Так вот одна input.next (), для того, чтобы очистить кэш
input.next ();
}
Num = input.nextInt ();
System.out.println ( "цифровой вход целое число:" + Num);
Сухие заметки больше внимания к микро-канал общедоступного номеру: старая школа девять