从字符串转换为整数的数组中求和(命令行编译)



我正在用命令行编译代码,在命令行中输入以下代码:

java aac 2 4 6 8 10

和我得到的结果:

5

0位的数字是2.0
和是:2.0

位置1的数字是4.0
和是:4.0

位置2的数字是6.0
总和为:6.0

第3位的数字为8.0
和是:8.0

第4位的数字是10.0
和为:10.0

我想要实现的是,对于sum是所有数字的总和除以数字的数量,但是对于数字的数量,我已经提出了一个长度变量。在本例中,长度在开始处显示为5。

public class aac {
    public static void main(String args[]) {
        // working out the length
        int length = args.length;
        System.out.println(length);
        // this is a for loop that repeats until integer i is greater than
        // integer length, which is the length of the args String array.
        for (int i = 0; i < length; i++) {
            // this string equals whatever value is in position i in string array args
            String all = args[i];
            // integer numConvert now equals the integer of String all
            double numConvert = Double.parseDouble(all);
            System.out.print("The number in position " + i + " is " + " ");
            System.out.println(numConvert);
            double sum = 0;
            sum = sum += numConvert;
            System.out.println("The Sum is: " + sum);
            System.out.println();
        }
    }
}

为了计算平均值,您是否在创建总和时遇到问题?如果是,将double sum = 0;移出for循环。在循环之后,你将它除以args.length,这将是你的平均值。

下面是对代码的一些改进:

double average = 0.0;
double sum = 0;
for(int i = 0; i < length; i++){
    String all = args2[i];
    double numConvert = Double.parseDouble(all);
    System.out.print("The number in position "+i+" is ");
    System.out.println(numConvert);
    sum += numConvert;
    average = sum / (i+1);
    System.out.println("The Sum is: "+sum);
    System.out.println("The average is :" + average);
    System.out.println();
}

我在你的for循环之外创建了2个double变量。

每次循环时,将当前值添加到sum变量中以获得总数。

同时,average被改为sum的值除以我们已经看到的数字。

输出如下:

5
The number in position 0 is 2.0
The Sum is: 2.0
The average is :2.0
The number in position 1 is 4.0
The Sum is: 6.0
The average is :3.0
The number in position 2 is 6.0
The Sum is: 12.0
The average is :4.0
The number in position 3 is 8.0
The Sum is: 20.0
The average is :5.0
The number in position 4 is 10.0
The Sum is: 30.0
The average is :6.0

最新更新