Сканирование нескольких строк с использованием одного объекта сканера
Я новичок в java, поэтому, пожалуйста, не уменьшайте рейтинг, если это звучит абсолютно глупо для вас
ok как мне ввести это с помощью одного объекта сканера
5
привет, как вы это делаете
добро пожаловать в мой мир
6 7
для тех из вас, кто предлагает
scannerobj.nextInt->nextLine->nextLine->nextInt->nextInt,,,
проверить это, это не сработает!!!
спасибо
Ответы
Ответ 1
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.printf("Please specify how many lines you want to enter: ");
String[] input = new String[in.nextInt()];
in.nextLine(); //consuming the <enter> from input above
for (int i = 0; i < input.length; i++) {
input[i] = in.nextLine();
}
System.out.printf("\nYour input:\n");
for (String s : input) {
System.out.println(s);
}
}
Пример выполнения:
Please specify how many lines you want to enter: 3
Line1
Line2
Line3
Your input:
Line1
Line2
Line3
Ответ 2
public class Sol{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()){
System.out.println(sc.nextLine());
}
}
}
Ответ 3
попробуйте этот код
Scanner in = new Scanner(System.in);
System.out.printf("xxxxxxxxxxxxxxx ");
String[] input = new String[in.nextInt()];
for (int i = 0; i < input.length; i++) {
input[i] = in.nextLine();
}
for (String s : input) {
System.out.println(s);
}
Ответ 4
Вы можете попробовать только с лямбда тоже:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
scanner.forEachRemaining(input -> System.out.println(input));
}
Ответ 5
может быть, мы можем использовать этот подход:
for(int i = 0; i < n; i++)
{
Scanner sc1 = new Scanner(System.in);
str0[i] = sc1.nextLine();
System.out.println(str0[i]);
}
то есть мы создаем объект сканера каждый раз, когда читаем следующую строку. :)