如何解决“如果”始终为“真”的问题

时间:2019-09-02 08:41:01

标签: java if-statement

我在Java中为左旋转编写了一个脚本,并且在代码中使用了2个循环。

我使用过条件来检查第二个循环中的第一个迭代,然后在其中进行一些处理。我要传递2个参数“ a”是一个数组,而“ d”是不旋转的。

static int[] rotLeft(int[] a, int d) {
    int temp1 = 0;
    int temp = 0;
    int count = 0;
    int j;
    for(int i = 0; i < d; i++){
        for(j = a.length - 1; j > 0; j--){
            if(j == a.length - 1){
                temp1 = a[0];
                temp = a[j];
                a[j] = temp1;
            }
            else{
                temp1 = a[j];
                a[j] = temp;
            }                
    }
    return a;
}

但问题是每次迭代都适用。我知道我在犯一些愚蠢的错误。

1 个答案:

答案 0 :(得分:3)

        else
            temp1 = a[j];
            a[j] = temp;

我怀疑你的意思:

        else {
            temp1 = a[j];
            a[j] = temp;
        }

空白在Java中没有语义(不同于少数其他语言,如Python)。