Это происходит потому, что 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 + ".");
}
}