Я получаю сообщение о том, что локальная переменная, возможно, не была инициализирована или не может быть разрешена переменной, в которой находится catch. Как это исправить? В принципе, я хочу, чтобы моя программа приняла несколько цифр, а затем остановилась и отобразила некоторые ответы.Локальная переменная, не инициализированная в функции catch
import java.util.Scanner;
public class math2{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter Integer Values\nEnter a Non-Integer When Finished\n");
int x = input.nextInt();
int max = x;
int min = x;
int sum = x;
double average = 0;
try
{
int amount = 1;
while(true)
{
x = Integer.parseInt(input.next());
sum = sum + x;
amount++;
average = (double)sum/amount;
if (x > max) {
max = x;
} else if (x < min) {
min = x;
}
}
}catch(NumberFormatException e){
System.out.println("The Maximum Value is " + max);
System.out.println("The Minimum Value Is " + min);
System.out.println("The Sum Is " + sum);
System.out.println("The Average Is " + average);}
}
}
Теперь все остальное работает, за исключением случаев, когда пользователь вводит не целое число в качестве своего первого числа. –
Я обновил свое решение, чтобы решить проблему, пожалуйста, просмотрите – Prabhaker