На вход программе поступают данные,формат которых приведен ниже. Эти данные записаны через пробел, причём ровно один между каждой парой (то есть всего по три пробела в каждой строке).
<Фамилия> — строка, состоящая не более чем из 30 символов без пробелов
<Имя> — строка, состоящая не более чем из 20 символов без пробелов
<Число 1> — целое число в диапазоне от 1 до 99
<Число 2> — целое число в диапазоне от 1 до 100
Мне нужно,чтобы из этой последовательности извлекалось число <Число 2>.У меня такой код,но нужно,чтобы все было записано в одной строке
surname = scanner.nextLine();
name = scanner.nextLine();
ch1 = scanner.nextInt();
ch2 = scanner.nextInt();
Пример входной строки:
Ivanov Ivan 50 87
Пример выходных данных:
87
По поводу сканнера, код которого вы приводите:
Вы вызываете методScanner.nextLine(), этот вызов возвращает строку до перевода каретки, для получения символов до пробела Вам нужен метод Scanner.next()
Вот тут все достаточно информативно
Однако сканнер вам тут вряд ли нужен, для получения необходимого элемента исходную строку можно разбить по пробелам методом split, и к полученному массиву строк, обратиться по индексу, это вернет вам строку.
String element = arg.split(" ")[3];
Если ваша строка line, int number2 = Integer.parseInt(line.split(" ")[3]);
Если только последнее число надо извлечь, то можно так:
scanner.nextLine().split(" ")[3]
Сборка персонального компьютера от Artline: умный выбор для современных пользователей