退出循环数组长度

时间:2018-08-09 01:05:21

标签: java for-loop

由于某种原因,我无法脱离以下代码中的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);


}

1 个答案:

答案 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);
}