Я пытаюсь выполнить попытку перехвата пользовательского ввода и поместить пользовательский ввод в массив, если он пройдет проверку, но если я введу недопустимый ввод, он заменит этот индекс на 0 и перейдет к следующему индексу. Я пытаюсь понять, как заставить повторную подсказку работать внутри цикла for, чтобы недопустимое значение в этом конкретном индексе было заменено допустимым пользовательским вводом. Порядок значений в массиве не имеет значения. Я пытаюсь сделать это без импорта других библиотек Java!
Буду очень признателен за любую помощь! Я новичок в программировании и Java. Спасибо за ваше время !
public static double[] getAmount()
{
int MAX_NUM = 10;
double[] numArray = new double[MAX_NUM];
for (int i = 0; i < numArray.length;i++)
{
double numInput;
do
{
try
{
numInput = Double.parseDouble(JOptionPane.showInputDialog("Enter amounts in $: "));
}
catch (NumberFormatException e)
{
numInput = MAX_NUM - 11;
}
if (numInput < 0 || numInput > 999999)
{
JOptionPane.showMessageDialog(null, "Error. Please enter valid amount in dollars");
numInput = Double.parseDouble(JOptionPane.showInputDialog("Enter amount in $: "));
}
else
{
numArray[i] = numInput;
}
}
while (numInput < 0 && numInput > 999999);
}
return numArray;
}