2016-11-12 2 views
1

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

Мы используем это для целого числа:

Scanner input = new Scanner(System.in); 
int number = input.nextInt(); 

Мы используем это для строки:

Scanner input = new Scanner(System.in); 
String name = input.next(); 

Как мы можем использовать оба сразу? Например: password123 Как его сохранить?

Я думаю, что я должен использовать класс java generic. Я искал Java Gneric, но я не понял.

спасибо.

+1

пароль123 является строкой, поэтому вам нужно использовать input.next(); – developer

+0

OP ищет более общее решение для разных типов ввода. –

+0

Сохраните и то, что? Сканер обнаруживает строковые шаблоны и может возвращать только один тип. –

ответ

1

password123 - это строка, которая содержит номера.

Таким образом, используя это должно работать:

Scanner input = new Scanner(System.in); 
String name = input.next(); 
+0

Благодарим за помощь. Как я могу сохранить, не зная тип ввода, введенного пользователем? – uyusuk

+0

@uyusuk, что вы имеете в виду? – ItamarG3

+0

OP ищет более общее решение для разных типов ввода. –

0

решение: рассматривать все входные данные как строки, так как вы не знаете, что вы собираетесь получить от пользователя. позже конвертируйте в int или что-то еще, если вам нужно, если у вас больше контекста о том, что представляют данные.

0

Сканер может возвращать только один тип за один раз. Если у вас несколько входов, то вы запрашиваете ввод более одного раза

Scanner input = new Scanner(System.in); 
System.out.print("Your name is: "); 
String name = input.next(); 
System.out.print("Your age is: "); 
int age = input.nextInt(); 
0

Единственное решение - сначала поставить String. потому что, когда у вас есть слово с цифрами password123, это будет только String, потому что вы не можете получить Целое число со словом или буквой.

Смежные вопросы