Вы не указали, что это было школьное задание или у вас были определенные ограничения, поэтому этот ответ, по общему признанию, является выстрелом в темноте.
Я бы рекомендовал использовать StringBuilder
в цикле и читать nextLine()
вместо простого next()
. Это позволяет определить, была ли запись пустой (т. Е. Клавиша ввода была нажата без ввода символа).
Кроме того, мы должны разрешить пользователю вводить более одного символа в любом случае (что происходит, когда они пытаются ввести 22
как число). Отказ от типа char
позволяет это сделать.
public static void main(String[] args) {
StringBuilder string = new StringBuilder();
Scanner input = new Scanner(System.in);
boolean flag = true;
while (flag) {
// Capture all characters entered, including numbers with multiple digits
String in = input.nextLine();
// If no characters were entered, then the [ENTER] key was pressed
if (in.isEmpty()) {
// User is done adding characters; exit the loop
flag = false;
} else {
// Otherwise, get the text entered and add it to our final string
string.append(in);
}
}
System.out.println("Final String: " + string);
}
Соответствует ли это вашим потребностям?