在java中使用scanner类来平均数字

在java中使用scanner类来平均数字,java,max,args,Java,Max,Args,我正在使用scanner类将数字平均化。我正在使用一种方法进行平均。如果参数超过20个,我不希望程序运行。我好像没法让它工作。我对java非常陌生,正在努力学习 我很感激能得到的任何帮助。谢谢 import java.util.Scanner; class programTwo { public static void main (String[] args) { Scanner scan = new Scanner(System.in); dou

我正在使用scanner类将数字平均化。我正在使用一种方法进行平均。如果参数超过20个,我不希望程序运行。我好像没法让它工作。我对java非常陌生,正在努力学习

我很感激能得到的任何帮助。谢谢

import java.util.Scanner;

class programTwo {


    public static void main (String[] args) {

        Scanner scan = new Scanner(System.in);
        double x = 0.00d;

        if (args != null) {
            System.out.println ("Enter your numbers to be averaged. Remember no more than 20!:");
            x = scan.nextInt();

            if (x <= 21) {
                System.out.println("Please do not add more than 20 numbers");   
            }  
       } else {
       }

    }

    public double average(double [] values) {
        double average = 0.0;
        if ((values != null) && (values.length > 0)) {
            for (double value : values) {
                average += value;
            }
        average /= values.length; 
        }
        return average;
    }

}
import java.util.Scanner;
二班{
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
双x=0.00d;
如果(args!=null){
System.out.println(“输入要平均的数字。记住不要超过20!:”;
x=scan.nextInt();
如果(x 0)){
for(双值:值){
平均值+=数值;
}
平均/=值。长度;
}
收益率平均值;
}
}

不需要检查
args!=null
检查。一种方法是在扫描仪有下一个数字时接受数字
scanner.hasNext()
)如果到目前为止输入的数量小于20,则中断。由于双倍数字的数量未知,因此最好使用ArrayList

List doubles=new ArrayList();

并且在
上调用add方法会加倍

双倍。添加(x);

然后将其传递给一个平均arraylist中的值的方法。

不需要检查
args!=null
检查。一种方法是在扫描仪有下一个数字时接受数字
scanner.hasNext()
)如果到目前为止输入的数量小于20,则中断。由于双倍数字的数量未知,因此最好使用ArrayList

List doubles=new ArrayList();

并且在
上调用add方法会加倍

双倍。添加(x);

然后将其传递给一个平均arraylist中的值的方法。

不需要检查
args!=null
检查。一种方法是在扫描仪有下一个数字时接受数字
scanner.hasNext()
)如果到目前为止输入的数量小于20,则中断。由于双倍数字的数量未知,因此最好使用ArrayList

List doubles=new ArrayList();

并且在
上调用add方法会加倍

双倍。添加(x);

然后将其传递给一个平均arraylist中的值的方法。

不需要检查
args!=null
检查。一种方法是在扫描仪有下一个数字时接受数字
scanner.hasNext()
)如果到目前为止输入的数量小于20,则中断。由于双倍数字的数量未知,因此最好使用ArrayList

List doubles=new ArrayList();

并且在
上调用add方法会加倍

双倍。添加(x);

然后将其传递给一个平均arraylist中的值的方法。

只要运行一个while循环,当满足20个“args”或直到输入一个类似于
-1
的中断时,该循环就会中断。然后,如果要取双值,则应使用
x=scan.nextDouble()
。您也没有将值插入数组的位置。在while循环结束时,您可以将
x
放入一个双精度数组中

private double x;
private double Foo[] = new Foo[20];
private int this = 0; //Your counter

while(this < 20 && x != -1)
{
   x = scan.nextDouble();
   Foo[this++] = x;

}
private双x;
私人双福【】=新福[20];
private int this=0;//您的计数器
而(这<20&&x!=-1)
{
x=scan.nextDouble();
Foo[this++]=x;
}

然后通过将数组中的值相加并除以(double)来执行您的
公共双平均值
,此

只要运行一个while循环,当满足20个“args”时中断,或者直到输入一个类似
-1
的中断。然后,如果您采用双值,则应使用
x=scan.nextDouble()
。您也没有将值插入数组的位置。在while循环结束时,您可以将
x
放入一个双精度数组中

private double x;
private double Foo[] = new Foo[20];
private int this = 0; //Your counter

while(this < 20 && x != -1)
{
   x = scan.nextDouble();
   Foo[this++] = x;

}
private双x;
私人双福【】=新福[20];
private int this=0;//您的计数器
而(这<20&&x!=-1)
{
x=scan.nextDouble();
Foo[this++]=x;
}

然后通过将数组中的值相加并除以(double)来执行您的
公共双平均值
,此

只要运行一个while循环,当满足20个“args”时中断,或者直到输入一个类似
-1
的中断。然后,如果您采用双值,则应使用
x=scan.nextDouble()
。您也没有将值插入数组的位置。在while循环结束时,您可以将
x
放入一个双精度数组中

private double x;
private double Foo[] = new Foo[20];
private int this = 0; //Your counter

while(this < 20 && x != -1)
{
   x = scan.nextDouble();
   Foo[this++] = x;

}
private双x;
私人双福【】=新福[20];
private int this=0;//您的计数器
而(这<20&&x!=-1)
{
x=scan.nextDouble();
Foo[this++]=x;
}

然后通过将数组中的值相加并除以(double)来执行您的
公共双平均值
,此

只要运行一个while循环,当满足20个“args”时中断,或者直到输入一个类似
-1
的中断。然后,如果您采用双值,则应使用
x=scan.nextDouble()
。您也没有将值插入数组的位置。在while循环结束时,您可以将
x
放入一个双精度数组中

private double x;
private double Foo[] = new Foo[20];
private int this = 0; //Your counter

while(this < 20 && x != -1)
{
   x = scan.nextDouble();
   Foo[this++] = x;

}
private双x;
私人双福【】=新福[20];
private int this=0;//您的计数器
而(这<20&&x!=-1)
{
x=scan.nextDouble();
Foo[this++]=x;
}
然后通过将数组中的值相加并除以(double)this来执行您的
公共双平均
,这里有一个解决方案(也清理了大量代码),它可以在一行中获取所有数字