【发布时间】:2019-09-02 08:41:01
【问题描述】:
我在java中编写了一个左旋转脚本,我在代码中使用了2个for循环。
我使用了 if 条件来检查第二个循环中的第一次迭代,然后在其中进行一些处理。我传递了 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;
}
但问题是每次迭代都是如此。我知道我犯了一些愚蠢的错误。
【问题讨论】:
-
我怀疑你打算在你的
else块周围有{}。 -
在
else之后缩进了两行,但其中只有一行是if/else语句的一部分。 -
如何在 for 块之外执行 if 块中的所有内容(没有 if),以及迭代中的所有以下情况?这里不需要 if。
-
Tobias 想告诉你的是:这段代码真的很难阅读和理解。它从没有像
a或d这样的变量名开始。 -
大家感谢您在 else 之后指出大括号错误,但主要问题仍然存在。
标签: java if-statement