由于某种原因,我无法脱离以下代码中的for语句。我尝试使用arr.length和arr.length-1。
static void plusMinus(int[] arr) {
int pos = 0, neg = 0;
int zero = 0;
double posDec = 0, negDec = 0, zeroDec = 0;
int length = arr.length;
for(int i = 0; i < length; i++){
if(arr[i] < 0)
neg+=1;
else if(arr[i] > 0)
pos+=1;
else
zero+=1;
}
posDec = pos/arr.length;
negDec = neg/arr.length;
zeroDec = zero / arr.length;
System.out.println(posDec + "/n" + negDec + "/n" + zeroDec);
}
答案 0 :(得分:1)
我看到了两个错误,一个是将整数除法提高到两倍。二,您使用的是/n
而不是\n
。另外,我希望使用for-each
loop,并且可以使用++
代替+= 1
。喜欢,
static void plusMinus(int[] arr) {
int pos = 0, neg = 0, zero = 0;
for (int val : arr) {
if (val < 0)
neg++;
else if (val > 0)
pos++;
else
zero++;
}
double posDec = pos / (double) arr.length;
double negDec = neg / (double) arr.length;
double zeroDec = zero / (double) arr.length;
System.out.println(posDec + "\n" + negDec + "\n" + zeroDec);
}