将用户输入的元素的总和输出到ArrayList Java

将用户输入的元素的总和输出到ArrayList Java,java,arraylist,Java,Arraylist,我目前正在编写一个java代码,该代码接受用户的输入,并输出arraylist的大小、输入的数字之和、输入的平均数和最大数。由于for循环不是计算结果,因此我无法完成求和。如果有任何建议,我将不胜感激。我的代码如下 import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { // write your

我目前正在编写一个java代码,该代码接受用户的输入,并输出arraylist的大小、输入的数字之和、输入的平均数和最大数。由于for循环不是计算结果,因此我无法完成求和。如果有任何建议,我将不胜感激。我的代码如下

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // write your code here
        double size = 0;
        double a = -999;
        double total = 0;

        Scanner in = new Scanner(System.in); // scanner object for user input

        ArrayList<Double> inputs = new ArrayList<Double>();
        System.out.println("Enter a number, to terminate enter -999 :");
        while (in.hasNextDouble()) {
            //assign the nextDouble to a variable
            double tmp = in.nextDouble();
            //test the variable
            if (tmp != a) {
                //add the variable
                //if you want to add -999 to the inputs then this next line above the test.
                inputs.add(tmp);
                System.out.println("Enter a number, to terminate enter -999 :");
            } else {
                inputs.size(); // get size of input
                System.out.println("Numbers entered: " + inputs.size());
                break;
            }
        }
        for (double sum : inputs) {
            total += sum;
            System.out.println("The sum of numbers entered is " + total);
            break;
        }

    }
}
import java.util.ArrayList;
导入java.util.Scanner;
公共班机{
公共静态void main(字符串[]args){
//在这里编写代码
双尺寸=0;
双a=-999;
双倍合计=0;
Scanner in=新扫描仪(System.in);//用户输入的扫描仪对象
ArrayList输入=新的ArrayList();
System.out.println(“输入一个数字,终止输入-999:”;
while(在.hasNextDouble()中){
//将nextDouble分配给变量
double tmp=in.nextDouble();
//测试变量
如果(tmp!=a){
//添加变量
//如果您想在输入中添加-999,则在测试上方的下一行。
输入。添加(tmp);
System.out.println(“输入一个数字,终止输入-999:”;
}否则{
inputs.size();//获取输入的大小
System.out.println(“输入的数字:“+inputs.size());
打破
}
}
for(双和:输入){
总数+=总和;
System.out.println(“输入的数字之和为“+总数”);
打破
}
}
}

for循环中的
中断
会导致循环退出。在这里,它导致循环在第一次迭代时退出,这几乎肯定不是您想要的

println
移动到循环外部,并移除
中断:

for (double sum : inputs) {
    total += sum;
}

System.out.println("The sum of numbers entered is " + total);
这允许
for
循环在计算总和时迭代整个列表,以便您可以在计算后打印它,而不是过早退出


还请注意:

inputs.size(); // get size of input

没有做任何有用的事<代码>大小
返回
输入的大小
,然后您不处理该数字,因此它将丢失。您应该删除该行,因为您在下一行再次调用
size

for循环中的
break
导致循环退出。在这里,它导致循环在第一次迭代时退出,这几乎肯定不是您想要的

println
移动到循环外部,并移除
中断:

for (double sum : inputs) {
    total += sum;
}

System.out.println("The sum of numbers entered is " + total);
这允许
for
循环在计算总和时迭代整个列表,以便您可以在计算后打印它,而不是过早退出


还请注意:

inputs.size(); // get size of input

没有做任何有用的事<代码>大小
返回
输入的大小
,然后您不处理该数字,因此它将丢失。您应该删除该行,因为您在下一行再次调用
size

代码中的问题是for循环中存在中断条件

正确的代码如下所示

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
    // write your code here
    double size = 0;
    double a = -999;
    double total = 0;

    Scanner in = new Scanner(System.in); // scanner object for user input

    ArrayList<Double> inputs = new ArrayList<Double>();
    System.out.println("Enter a number, to terminate enter -999 :");
    while (in.hasNextDouble()) {
        //assign the nextDouble to a variable
        double tmp = in.nextDouble();
        //test the variable
        if (tmp != a) {
            //add the variable
            //if you want to add -999 to the inputs then this next line above the test.
            inputs.add(tmp);
            System.out.println("Enter a number, to terminate enter -999 :");
        } else {
            inputs.size(); // get size of input
            System.out.println("Numbers entered: " + inputs.size());
            break;
        }
    }
    for (double sum : inputs) {
        total += sum;
    }

    System.out.println("The sum of numbers entered is " + total);

}
}
import java.util.ArrayList;
导入java.util.Scanner;
公共班机{
公共静态void main(字符串[]args){
//在这里编写代码
双尺寸=0;
双a=-999;
双倍合计=0;
Scanner in=新扫描仪(System.in);//用户输入的扫描仪对象
ArrayList输入=新的ArrayList();
System.out.println(“输入一个数字,终止输入-999:”;
while(在.hasNextDouble()中){
//将nextDouble分配给变量
double tmp=in.nextDouble();
//测试变量
如果(tmp!=a){
//添加变量
//如果您想在输入中添加-999,则在测试上方的下一行。
输入。添加(tmp);
System.out.println(“输入一个数字,终止输入-999:”;
}否则{
inputs.size();//获取输入的大小
System.out.println(“输入的数字:“+inputs.size());
打破
}
}
for(双和:输入){
总数+=总和;
}
System.out.println(“输入的数字之和为“+总数”);
}
}

代码中的问题是for循环中存在中断条件

正确的代码如下所示

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
    // write your code here
    double size = 0;
    double a = -999;
    double total = 0;

    Scanner in = new Scanner(System.in); // scanner object for user input

    ArrayList<Double> inputs = new ArrayList<Double>();
    System.out.println("Enter a number, to terminate enter -999 :");
    while (in.hasNextDouble()) {
        //assign the nextDouble to a variable
        double tmp = in.nextDouble();
        //test the variable
        if (tmp != a) {
            //add the variable
            //if you want to add -999 to the inputs then this next line above the test.
            inputs.add(tmp);
            System.out.println("Enter a number, to terminate enter -999 :");
        } else {
            inputs.size(); // get size of input
            System.out.println("Numbers entered: " + inputs.size());
            break;
        }
    }
    for (double sum : inputs) {
        total += sum;
    }

    System.out.println("The sum of numbers entered is " + total);

}
}
import java.util.ArrayList;
导入java.util.Scanner;
公共班机{
公共静态void main(字符串[]args){
//在这里编写代码
双尺寸=0;
双a=-999;
双倍合计=0;
Scanner in=新扫描仪(System.in);//用户输入的扫描仪对象
ArrayList输入=新的ArrayList();
System.out.println(“输入一个数字,终止输入-999:”;
while(在.hasNextDouble()中){
//将nextDouble分配给变量
double tmp=in.nextDouble();
//测试变量
如果(tmp!=a){
//添加变量
//如果您想在输入中添加-999,则在测试上方的下一行。
输入。添加(tmp);
System.out.println(“输入一个数字,终止输入-999:”;
}否则{
inputs.size();//获取输入的大小
System.out.println(“输入的数字:“+inputs.size());
打破
}
}
for(双和:输入){
总数+=总和;
}
System.out.println(“输入的数字之和为“+总数”);
}
}

hi您对如何查找用户输入的最大数字有何建议?#仅将其存储在while块中的局部变量hi您对如何查找用户输入的最大数字有何建议?#仅将其存储在while块中的局部变量中