У меня есть задание, в котором мне нужно выполнить определенные расчеты отдельными методами, используя данные, введенные пользователем. Моя проблема с пользовательским вводом. Предполагается, что это будет сделано отдельным методом (я не думаю, что мне разрешено использовать массивы для хранения входных данных). Пользователь должен иметь возможность ввести столько значений, сколько он хочет, а затем выйти с помощью «q». Затем программа должна взять первые два числа, рассчитать, например, область и объем с теми (с другими методами, которые я не включил здесь), представьте результат, возьмите следующие два числа, которые пользователь ввел, вычислите и представьте результаты. Это должно повторяться, пока не достигнет значения «q». Так, например:
Enter your values: 9 5 3 7 q
radius: 9 height: 5
Area = 254
Volume = 424
radius: 3 height: 7
Area = 28
Volume = 65
Проблема, с которой я столкнулся, заключается в том, что переменной присваивается только первое значение, а затем пользователь должен снова ввести данные для следующей переменной, даже если с первого раза осталось еще число.
import java.util.Scanner;
public class Stack {
private static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
int radie, height;
radie = userInput("");
height = userInput("");
}
public static int userInput(String message) {
int number = Integer.MAX_VALUE;
while (number == Integer.MAX_VALUE) {
System.out.print(message);
if (input.hasNextInt()) {
number = input.nextInt();
}
input.nextLine();
}
return number;
}
}
Я понимаю, что в моем коде есть огромные недостатки, я очень растерялся и не уверен, с чего начать. Любая помощь или советы приветствуются! Заранее спасибо!