Java 为什么在条件应该为false时执行for循环?
我有以下代码:Java 为什么在条件应该为false时执行for循环?,java,for-loop,Java,For Loop,我有以下代码: public int maxSpan(int[] nums) { int maxSpan = 0; int span; int j; for(int i = 0; i < nums.length; i++) { for(j = nums.length - 1; nums[i] != nums[j]; j--); span = 1 + j - i; if(
public int maxSpan(int[] nums) {
int maxSpan = 0;
int span;
int j;
for(int i = 0; i < nums.length; i++)
{
for(j = nums.length - 1; nums[i] != nums[j]; j--);
span = 1 + j - i;
if(span > maxSpan)
maxSpan = span;
}
return maxSpan;
}
public int maxSpan(int[]nums){
int maxSpan=0;
int span;
int j;
对于(int i=0;i最大跨度)
最大跨度=跨度;
}
返回最大跨度;
}
编辑:我意识到有一个分号而不是{,这就是为什么它起作用的原因,所以现在我的问题是,这是一个糟糕的做法吗?
提前感谢!For循环后的分号指示行停止。循环运行,但不执行任何命令。请尝试以与第一个For循环相同的方式格式化第二个For循环,当nums[i]==nums[j]时,它应跳过这些命令
public int maxSpan(int[] nums) {
int maxSpan = 0;
int span;
int j;
for(int i = 0; i < nums.length; i++)
{
for(j = nums.length - 1; nums[i] != nums[j]; j--)
{
span = 1 + j - i;
if(span > maxSpan)
maxSpan = span;
}
}
return maxSpan;
}
public int maxSpan(int[]nums){
int maxSpan=0;
int span;
int j;
对于(int i=0;i最大跨度)
最大跨度=跨度;
}
}
返回最大跨度;
}
for循环后面的分号应该删除,因为现在有不平衡的大括号