将用户输入的元素的总和输出到ArrayList Java
我目前正在编写一个java代码,该代码接受用户的输入,并输出arraylist的大小、输入的数字之和、输入的平均数和最大数。由于for循环不是计算结果,因此我无法完成求和。如果有任何建议,我将不胜感激。我的代码如下将用户输入的元素的总和输出到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
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块中的局部变量中