【发布时间】:2016-11-21 11:44:54
【问题描述】:
所以我正在尝试计算数组的平均值和总和,但是我必须先删除最高和最低值,然后才能计算平均/总和。
我有代码用随机双精度数填充数组,然后找到最大值和最小值。
我不确定是否有办法减去最高和最低值,或者我是否必须将数组中的数据复制到一个新的数据中减去最高和最低值,然后计算平均值/总和。
这是我目前所拥有的。如果这有点明显,请原谅我,但我被难住了,并且仍然在介绍 Java 课程。
这是我目前的代码。
double [] contestantOne = new double[8];
for (int index=0; index < contestantOne.length; index++) {
contestantOne [index] = (double) (Math.random()*9) + 1;
}
for (int index=0; index < contestantOne.length; index++) {
System.out.println( contestantOne [index] + "\n");
}
double contestantOneHigh; contestantOneHigh = contestantOne[0];
for (int index=1; index <contestantOne.length; index++) {
if (contestantOne[index] > contestantOneHigh)
contestantOneHigh = contestantOne[index];
}
System.out.print("The highest value in your array is"
+ " " + contestantOneHigh);
System.out.println();
System.out.println();
double contestantOneLow; contestantOneLow = contestantOne[0];
for (int index=1; index<contestantOne.length; index++) {
if (contestantOne [index] < contestantOneLow)
contestantOneLow = contestantOne[index];
}
System.out.print("The lowest value in your array is"
+ " " + contestantOneLow);
System.out.println();
System.out.println();
【问题讨论】:
-
要格式化您的代码,请将其粘贴到编辑器中,如果全部选择,然后使用
{}按钮将其转换为代码块。并在提交之前查看预览。 -
请不要写那么多 syso println,在你的一个 syso "\n\n" 中写入换行符......而且你的 for 循环不完整(for (int index=1; index . ...?)
-
是的,
print/printlns 太多了。无需将空格作为附加字符串。至少,您应该将 S.o.p 设置为 println 并且只有一个额外的空白,最好像 Martinl 所说的那样,在末尾添加 +"\n\n" ,但最好的办法是使其成为 @987654324 @s:S.o.pf("message %f%n%n", value);.