Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA:查找双数组列表的平均值_Java_Arraylist - Fatal编程技术网

JAVA:查找双数组列表的平均值

JAVA:查找双数组列表的平均值,java,arraylist,Java,Arraylist,尝试在控制台中输入双精度数组列表,然后当用户使用ctrl-z或d结束arraylist输入时,查找他们使用双精度输入的数字列表的平均值 我从中得到了很多错误,我不知道为什么! 我是java初学者,非常感谢您的帮助 public static void main(String[] args) { ArrayList<Double> numbers = new ArrayList<Double>(); Scanner in = new Scanner(S

尝试在控制台中输入双精度数组列表,然后当用户使用ctrl-z或d结束arraylist输入时,查找他们使用双精度输入的数字列表的平均值

我从中得到了很多错误,我不知道为什么! 我是java初学者,非常感谢您的帮助

public static void main(String[] args) {
    ArrayList<Double> numbers = new ArrayList<Double>();  

    Scanner in = new Scanner(System.in);   

    while (in.hasNextDouble())  
    {  
        Double input = in.nextDouble();  
        numbers.add(input);  
    }  

    in.close();

    for (Double element : numbers)  {  
        Double sum += element;
        System.out.println(sum/numbers.size()); 
    }
} 
publicstaticvoidmain(字符串[]args){
ArrayList编号=新的ArrayList();
扫描仪输入=新扫描仪(系统输入);
while(在.hasNextDouble()中)
{  
双输入=in.nextDouble();
数字。添加(输入);
}  
in.close();
对于(双元素:数字){
双和+=元素;
System.out.println(sum/numbers.size());
}
} 

计算最终平均值:

double sum = 0;
for(double d : numbers) {
    sum += d;
}
System.out.println(sum / numbers.size()); 

要计算最终平均值:

double sum = 0;
for(double d : numbers) {
    sum += d;
}
System.out.println(sum / numbers.size()); 
这不是合法的语法,您试图向变量定义中添加一些内容,但这不起作用。不过你很接近。只需将变量
sum
声明在
for
循环之外

double sum = 0;
for (double element : numbers)  {  
       sum += element;
   }
System.out.println(sum/numbers.size()); 
你也可能不想每次都打印出当前的平均值,所以你应该把它移到循环之后

// don't miss the imports
import java.util.ArrayList;
import java.util.Scanner;

// you might have missed to add your main() method in a class
public class Average {
    public static void main(String[] args) {
        // This part was ok
        ArrayList<Double> numbers = new ArrayList<Double>();
        Scanner in = new Scanner(System.in);
        while (in.hasNextDouble()) {
            Double input = in.nextDouble();
            numbers.add(input);
        }
        in.close();

        // Forgot to initialize the value of sum
        Double sum = 0d;
        for (Double element : numbers) {
            // add the element
            sum += element;
            // don't count the average here
        }
        // count it outside the loop
        System.out.println(sum / numbers.size());
    }
}
这不是合法的语法,您试图向变量定义中添加一些内容,但这不起作用。不过你很接近。只需将变量
sum
声明在
for
循环之外

double sum = 0;
for (double element : numbers)  {  
       sum += element;
   }
System.out.println(sum/numbers.size()); 
您可能也不想每次都打印当前平均值,所以您应该将其移动到循环之后。

//不要错过导入
// don't miss the imports
import java.util.ArrayList;
import java.util.Scanner;

// you might have missed to add your main() method in a class
public class Average {
    public static void main(String[] args) {
        // This part was ok
        ArrayList<Double> numbers = new ArrayList<Double>();
        Scanner in = new Scanner(System.in);
        while (in.hasNextDouble()) {
            Double input = in.nextDouble();
            numbers.add(input);
        }
        in.close();

        // Forgot to initialize the value of sum
        Double sum = 0d;
        for (Double element : numbers) {
            // add the element
            sum += element;
            // don't count the average here
        }
        // count it outside the loop
        System.out.println(sum / numbers.size());
    }
}
导入java.util.ArrayList; 导入java.util.Scanner; //您可能没有在类中添加main()方法 公共课平均分{ 公共静态void main(字符串[]args){ //这部分还可以 ArrayList编号=新的ArrayList(); 扫描仪输入=新扫描仪(系统输入); while(在.hasNextDouble()中){ 双输入=in.nextDouble(); 数字。添加(输入); } in.close(); //忘记初始化sum的值 双和=0d; for(双元素:数字){ //添加元素 总和+=元素; //这里不要算平均数 } //把它算在圈外 System.out.println(sum/numbers.size()); } }
//不要错过导入
导入java.util.ArrayList;
导入java.util.Scanner;
//您可能没有在类中添加main()方法
公共课平均分{
公共静态void main(字符串[]args){
//这部分还可以
ArrayList编号=新的ArrayList();
扫描仪输入=新扫描仪(系统输入);
while(在.hasNextDouble()中){
双输入=in.nextDouble();
数字。添加(输入);
}
in.close();
//忘记初始化sum的值
双和=0d;
for(双元素:数字){
//添加元素
总和+=元素;
//这里不要算平均数
}
//把它算在圈外
System.out.println(sum/numbers.size());
}
}

我添加了
java.util
程序包,该程序包是
扫描仪
集合类
在你的代码中,主要的问题是你的
for
循环plz标记答案。谢谢:)

import java.util.*;
公开课考试{
公共静态void main(字符串[]args){
双和=0.0;
ArrayList编号=新的ArrayList();
扫描仪输入=新扫描仪(系统输入);
while(在.hasNextDouble()中)
{  
双输入=in.nextDouble();
数字。添加(输入);
}  
in.close();
对于(双元素:数字){
总和+=元素;
}
System.out.println(sum/numbers.size());
} 
}

我添加了
java.util
程序包,该程序包是
扫描仪
集合类
在你的代码中,主要的问题是你的
for
循环plz标记答案。谢谢:)

import java.util.*;
公开课考试{
公共静态void main(字符串[]args){
双和=0.0;
ArrayList编号=新的ArrayList();
扫描仪输入=新扫描仪(系统输入);
while(在.hasNextDouble()中)
{  
双输入=in.nextDouble();
数字。添加(输入);
}  
in.close();
对于(双元素:数字){
总和+=元素;
}
System.out.println(sum/numbers.size());
} 
}

您到底得到了什么错误?在“Double-input=in.nextDouble();”行中,我得到了一个类型不匹配错误,上面写着“类型不匹配:无法从Double转换为Double”。您到底得到了什么错误?在“Double-input=in.nextDouble();”行中,我得到了一个类型不匹配错误,上面写着“类型不匹配:无法从双精度转换为双精度”