Я пытаюсь заставить это работать, поэтому, когда пользователь вводит числа, он, в свою очередь, выводит значения max, min, sum и avg этих чисел. Первое число - количество введенных чисел. Я должен вызывать методы для каждого вычисления и использовать основной метод для печати. Когда я вхожу, чтобы ввести что-то, чтобы просто распечатать 0,00, а не фактический min, max, sum и avg. Он печатает 0,00, равный первому номеру, на который он не должен делать. Любая помощь будет оценена по достоинству.Калькулятор и использование массивов
Sample Input
5 1.0 2.0 3.0 4.0 5.0
Sample Output
15.00 3.00 1.00 5.00
Мой текущий код
import java.util.Arrays;
import java.util.Scanner;
public class ManyNumbers {
public static void main(String args[]) {
double i,n;
Scanner input = new Scanner(System.in);
while(input.hasNext()){
n=input.nextInt();
double a[] = new double [(int) n];
for(i=0;i<n;i++){
a[(int) i] = input.nextDouble();
double max1 = max (a);
double min1 = min (a);
double sum1 = sum (a);
double avg= sum1/n;
System.out.printf("%10.2f",min1, max1, sum1, avg);}
}
}
private static double sum(double[] array){
double sum = 0;
for (double e : a) sum += e;
return sum;}
private static double min(double[] a){
Arrays.sort(a);
double min =a[0];
return min;}
private static double max(double[] a){
Arrays.sort(a);
double max= a[a.length -1];{
return max;}
}
}
Ваши методы не приседают. Вы не используете параметры массива ... –
Кроме того, ваши скобки выглядят неправильно. Как работает этот код? –
Вы устанавливаете n в 0 и затем создаете двойной массив размера n (который равен 0). Поэтому ссылка на [все] вызовет исключение, потому что массив равен 0. –