JAVA:查找双数组列表的平均值
尝试在控制台中输入双精度数组列表,然后当用户使用ctrl-z或d结束arraylist输入时,查找他们使用双精度输入的数字列表的平均值 我从中得到了很多错误,我不知道为什么! 我是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
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();”行中,我得到了一个类型不匹配错误,上面写着“类型不匹配:无法从双精度转换为双精度”