Это происходит потому, что teclado.next();
извлекает следующее значение в консоли, которое разделяется пробелом. Вы хотите использовать teclado.nextLine();
. Хотя это не полное решение. Если бы вы следили за этим подходом и вводили «Я Джейк», то программа напечатала бы «Эй,». а затем «Эй, Джейк». Это потому, что вы используете teclado.nextInt();
, что работает, но это не приведет Scanner#nextLine()
к немедленному чтению «Я Джейк». Таким образом , вы должны также заменить nextInt();
с nextLine();
и разобрать его:
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
int times = Integer.parseInt(teclado.nextLine());
int index = 0;
while (index < times){
String greeting = teclado.nextLine();
String newgreeting = greeting.replace("I'm ","");
System.out.println("Hey, " + newgreeting + ".");
}
}