为什么此代码会在行System.out.println(resultaat[i]); : 'The type of the expression must be an array type but it resolved to ArrayList<Integer>'
上显示错误:
import java.util.Scanner;
import java.util.ArrayList;
public class Binairgenerator {
public static void main (String[] args){
Scanner input = new Scanner(System.in);
ArrayList<Integer> resultaat = new ArrayList<>();
int number = input.nextInt();
int i;
for (i = 0; i < number; i++){
if ((number% 2 == 0)) {
resultaat.add(0);
number = number/2;
System.out.println(resultaat[i]);
}
else {
System.out.println("maar het is een oneven getal");
number =- 1;
}
}
}
}
答案 0 :(得分:1)
请注意以下这一行:
ArrayList<Integer> resultaat = new ArrayList<>();
resultaat
不是数组,而是对ArrayList
类实例的引用。
要访问ArrayList
内的项目,您应该使用get(int index)
方法。
恢复:将System.out.println(resultaat[i]);
替换为System.out.println(resultaat.get(i))
;