【发布时间】:2019-06-21 18:11:04
【问题描述】:
我只是对如何存储用户输入的数字数组感到困惑。用户可以在数组中输入他们想要多少个数字,但它并不要求自己输入数字。
import java.util.Scanner;
public class Exercise_0_2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("How many numbers: ");
int n = input.nextInt();
System.out.println("Enter " + n + " numbers : ");
double[] numbers = new double[n];
//Call and print methods
System.out.println("Mean: " + mean(numbers, n));
System.out.println("Standard Deviation: " + deviation(numbers, n));
}
// Calculate Mean
public static double mean(double[] numbers, int n) {
double sum = 0;
for (int i = 0; i < n; i++) {
sum += numbers[i];
}
double mean = sum / n;
return mean;
}
//Calculate deviation from the mean
public static double deviation(double[] numbers, int n) {
double mean = mean(numbers, n);
double sqSum = 0;
for (int i = 0; i < n; i++) {
sqSum += numbers[i] * numbers[i];
}
double variance = sqSum / n - mean * mean;
double sd = Math.sqrt(variance);
return sd;
}
}
【问题讨论】:
-
来自帮助中心:寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定问题或错误以及重现所需的最短代码它在问题本身。没有明确问题陈述的问题对其他读者没有用处。请参阅: minimal reproducible example
-
你没有调用卑鄙的方法
-
求多少个数 -> 创建数组 -> 求数并添加到数组 -> 以数组为参数调用均值 -> 以数组为参数调用偏差。
-
...不要忘记:
return声明! (任何非void(返回类型)方法必须返回声明的类型(在任何“逻辑分支”中!(if/else))...或抛出异常;) -
..但数学看起来不错! ...这真的是“唯一的语法”
标签: java mean standard-deviation