新手求教。编写一个简单的 Java 程序,计算若干个数的平均值,并输出结果;数据由命令行参数给出
publicclassDemo1{publicstaticvoidmain(String[]args){intsum=0,avg=0,j=0;for(inti=0;i<a...
public class Demo1 {
public static void main(String[] args) {
int sum = 0, avg = 0, j = 0;
for(int i = 0; i < args.length; i++) {
sum += Integer.valueOf(args[i]);
j++;
}
avg = sum/j;
System.out.println(avg);
}
}
问题:
(1)程序哪里有错误;
(2)感觉j没什么用,应该怎么优化; 展开
public static void main(String[] args) {
int sum = 0, avg = 0, j = 0;
for(int i = 0; i < args.length; i++) {
sum += Integer.valueOf(args[i]);
j++;
}
avg = sum/j;
System.out.println(avg);
}
}
问题:
(1)程序哪里有错误;
(2)感觉j没什么用,应该怎么优化; 展开
1个回答
展开全部
(1)程序没有错误,因为你定义的sum是integer,取平均值的时候会只会取小数点之前的。所以如果你想取小数点之后的,要int换double或者float
(2)你是正确的,j没有用,最后的j其实就是args.length
最后优化代码如下
public class Demo1 {
public static void main(String[] args) {
double sum = 0, avg = 0;
for (int i = 0; i < args.length; i++) {
sum += Double.valueOf(args[i]);
}
avg = sum / args.length;
System.out.println(avg);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询