取数组中元素的平均值
Take the average of elements in array
所以我准备明天进行测验,我正在玩数组,我问用户想要输入多少个测试,然后询问每个测试的分数。我遇到的问题是总结测试,它没有总结所有,请帮助我
import java.util.Scanner;
public class Arrays {
public static void main(String args []){
int numOfElements;
Scanner input = new Scanner(System.in) ;
System.out.println("How many tests are you going to input? ");
numOfElements = input.nextInt();
double array[] = new double [numOfElements];
for (int i=0; i<array.length; i++){
System.out.println("Enter the test # " + (i+1) + ": ");
array[i] = input.nextDouble();
}
for (int i = 0; i<array.length; i++ )
{
System.out.print("Test #"+(i+1)+"= "+array[i] + " pts\n");
}
for (int m= 0; m<array.length; m++)
{ //average value
double sum = 0;
sum = sum + array[m]; //get the sum\
double average = sum / array.length; //get the average value
//print out the sum of elements in an array
System.out.print("Your total points are: "+sum);
//print out the average grade
System.out.println("Your grades is "+average +"%");
}
}
您的问题在这里:
double sum = 0
在每次循环迭代期间重置您的计数器!
因此,对于初学者来说,您必须将该语句移到 for 循环的前面! 'average'!
相同
你应该在循环中总结分数。 之后,你打印结果。
double sum = 0;
for (int m= 0; m<array.length; m++)
{ //average value
sum = sum + array[m]; //get the sum\
}
double average = sum / array.length; //get the average value
//print out the sum of elements in an array
System.out.print("Your total points are: "+sum);
//print out the average grade
System.out.println("Your grades is "+average +"%");
double sum
和 double average
每次迭代都会重置,将它们声明为 for 循环外的局部变量,并在迭代完成后打印 average 和 sum
double sum = 0;
for (int m = 0; m < array.length; m++) {
sum = sum + array[m];
}
System.out.print("Your total points are: " + sum);
System.out.println("Your grades is " + sum / array.length + "%");
在java8+
double array[] = new double[numOfElements];
DoubleSummaryStatistics dss = Arrays.stream(array).summaryStatistics();
System.out.println("average " + dss.getAverage());
System.out.println("sum " + dss.getSum());
所以我准备明天进行测验,我正在玩数组,我问用户想要输入多少个测试,然后询问每个测试的分数。我遇到的问题是总结测试,它没有总结所有,请帮助我
import java.util.Scanner;
public class Arrays {
public static void main(String args []){
int numOfElements;
Scanner input = new Scanner(System.in) ;
System.out.println("How many tests are you going to input? ");
numOfElements = input.nextInt();
double array[] = new double [numOfElements];
for (int i=0; i<array.length; i++){
System.out.println("Enter the test # " + (i+1) + ": ");
array[i] = input.nextDouble();
}
for (int i = 0; i<array.length; i++ )
{
System.out.print("Test #"+(i+1)+"= "+array[i] + " pts\n");
}
for (int m= 0; m<array.length; m++)
{ //average value
double sum = 0;
sum = sum + array[m]; //get the sum\
double average = sum / array.length; //get the average value
//print out the sum of elements in an array
System.out.print("Your total points are: "+sum);
//print out the average grade
System.out.println("Your grades is "+average +"%");
}
}
您的问题在这里:
double sum = 0
在每次循环迭代期间重置您的计数器!
因此,对于初学者来说,您必须将该语句移到 for 循环的前面! 'average'!
相同你应该在循环中总结分数。 之后,你打印结果。
double sum = 0;
for (int m= 0; m<array.length; m++)
{ //average value
sum = sum + array[m]; //get the sum\
}
double average = sum / array.length; //get the average value
//print out the sum of elements in an array
System.out.print("Your total points are: "+sum);
//print out the average grade
System.out.println("Your grades is "+average +"%");
double sum
和 double average
每次迭代都会重置,将它们声明为 for 循环外的局部变量,并在迭代完成后打印 average 和 sum
double sum = 0;
for (int m = 0; m < array.length; m++) {
sum = sum + array[m];
}
System.out.print("Your total points are: " + sum);
System.out.println("Your grades is " + sum / array.length + "%");
在java8+
double array[] = new double[numOfElements];
DoubleSummaryStatistics dss = Arrays.stream(array).summaryStatistics();
System.out.println("average " + dss.getAverage());
System.out.println("sum " + dss.getSum());