Я пытался создать калькулятор, который будет читать от 0 до 2 чисел в одной строке. Если он получает числа, он складывает их. Если введено только одно целое число, оно дублирует его как выходной. Если строка пуста, калькулятор также должен немедленно вывести пустую строку и продолжить запрашивать ввод. Тем не менее, он делает это, но не сразу, и пропускает строки только при вводе следующей строки номера. Итак, вот мой код
package calculator;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
String input = scanner.nextLine();
//for the sake of stopping the code
if (input.equals("/exit")) {
System.out.println("Bye!");
break;
} else if (input.isEmpty()){
System.out.println();
}
else{
String[] array = input.split(" ");
int[] numbers = new int[array.length];
for (int i = 0; i < array.length; i++){
numbers[i] = Integer.parseInt(array[i]);
}
int sum = 0;
for (int i = 0; i < numbers.length; i++){
sum += numbers[i];
}
System.out.println(sum);
}
}
}
}
ОБНОВЛЕНИЕ
, исправленный путем изменения scanner.hasNext () на scanner.hasNextLine () исправил проблему.