Java 打印高于特定值的数组值
我正在构建的方法应该打印方法中高于平均值的所有值。 我建立了计算平均值的方法,然后只打印高于该值的值 但是,它会打印正值Java 打印高于特定值的数组值,java,arrays,Java,Arrays,我正在构建的方法应该打印方法中高于平均值的所有值。 我建立了计算平均值的方法,然后只打印高于该值的值 但是,它会打印正值 int total = 0; for (int i = 0; i < intList.length; i++) { total += intList[i]; { if (intList[i] > intList[total]) { S
int total = 0;
for (int i = 0; i < intList.length; i++)
{
total += intList[i];
{
if (intList[i] > intList[total])
{
System.out.println(intList[i] + "\t");
}
}
}
return total;
int-total=0;
for(inti=0;iintList[total])
{
System.out.println(intList[i]+“\t”);
}
}
}
返回总数;
如何使其如此,而不是打印所有正数它只打印数组中高于数组平均值的值?您需要两个不同的循环。一个是把所有的数字加在一起得到总数。然后你需要从总数中得到平均值。然后再次循环检查并打印您必须循环两次,一次用于计算平均值,然后当您得到计算的总数时,如果进行比较,则必须更改<代码>内部列表[i]>内部列表[total]至
内部列表[i]>总计
例如:
public static void main(String args[]){
int[] intList = {1,2,3,4,5,6,7,8,9,10};
int total = 0;
// first loop calculate
for (int i : intList){
total += i;
}
double average = total / (double)intList.length;//take care array can't be empty.
System.out.println("average :"+ average);
//then show
for(int i : intList){
if (i > average){
System.out.println(i + "\t");
}
}
}
输出:
AVG = 4.50
----------
5
6
7
8
上面的答案很准确,你的第二个循环不是将其与平均值进行比较,而是与总数进行比较。首先需要一个循环来获得数组的平均值,然后需要第二个循环来根据平均值测试数组
for (int i = 0;i < array.count; i++){
total = total + array[i]
}
average = total / array.count
for (int i = 0;i < array.count; i++){
if (array[i]>total){
print
}
}
for(int i=0;i总数){
打印
}
}
有一些伪代码/ish可以让您继续。现在您的平均值是使用整数除法计算的,这将提高精度error@user2573153我也是这么说的,这和我的答案完全一样,但是用平均数加int
for (int i = 0;i < array.count; i++){
total = total + array[i]
}
average = total / array.count
for (int i = 0;i < array.count; i++){
if (array[i]>total){
print
}
}