我正在用命令行编译代码,在命令行中输入以下代码:
java aac 2 4 6 8 10
和我得到的结果:
50位的数字是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