public class contains {
public static void main(String[] args) {
int[] array = new int[] {0, 1, 2, 3, 4};
int sum = 0;
for (i=0, i<=array.length, i++) {
if (array[i] == 4) {
return sum;
}
sum++;
}
return 0;
}
}
我不知道为什么上面的代码失败了。当我尝试编译它时,我得到如下错误。为什么会发生这种情况?我想看看索引4在数组中的位置
contains.java:5: error: not a statement
for (i=0, i<=array.length, i++) {
^
contains.java:5: error: ';' expected
for (i=0, i<=array.length, i++) {
^
contains.java:5: error: ';' expected
for (i=0, i<=array.length, i++) {
^
contains.java:6: error: illegal start of expression
if (array[i] == 4) {
^
contains.java:6: error: ')' expected
if (array[i] == 4) {
^
contains.java:6: error: not a statement
if (array[i] == 4) {
^
contains.java:6: error: ';' expected
if (array[i] == 4) {
^
contains.java:11: error: illegal start of type
return 0;
您没有声明i
。for
回路的各个部分用分号分隔。Java数组的初始索引为0
,最后一个元素位于array.length - 1
,因此需要<
(而不是<=
)。你不能从main
得到return
和int
。我想你想要的是,
public static void main(String[] args) {
int[] array = new int[] { 0, 1, 2, 3, 4 };
int sum = 0;
for (int i = 0; i < array.length; i++) {
if (array[i] == 4) {
break;
}
sum++;
}
System.out.println(sum);
}
输出4
和array[4]
是4
,所以我认为和应该是4
。