Возможно, это просто требует метода String
но мне действительно нужно получить значение второго слова из ввода Scanner
полученного следующим образом:
Scanner in = new Scanner(System.in);
String a;
a = in.nextLine();
Предполагая, что вы определяете слово "слово" как часть, отделяемую пробелом, и вводится ровно два слова:
Scanner in = new Scanner(System.in);
String a;
a = in.nextLine();
String secondWord = a.substring(a.indexOf(" "));
Если их может быть больше, используйте split:
Scanner in = new Scanner(System.in);
String a;
a = in.nextLine();
String secondWord = a.split("\\s+")[1];
Используйте http://docs.oracle.com/javase/8/docs/api/java/lang/String.html#split-java.lang.String-
такой как a.split(" ")
результатом будет массив размера 2, где вторым элементом будет result.txt
Вы можете использовать scanner.next()
. Единичный тестовый пример для демонстрации:
@Test
public void testSecondWordSingleLine() {
Scanner scanner = new Scanner("hello hi there");
scanner.next();
assertEquals("hi", scanner.next());
}
Он работает также, если второе слово находится на новой строке, например:
@Test
public void testSecondWordMultiLine() {
Scanner scanner = new Scanner("hello\nhi there");
scanner.next();
assertEquals("hi", scanner.next());
}
@Test
public void testSecondWordMultiLineWithNextLineFirst() {
Scanner scanner = new Scanner("hello\nhi there");
scanner.nextLine();
assertEquals("hi", scanner.next());
}
a.split("\\s+");
?args
которая передается вmain()
а не чтение из стандартного ввода.