1
コンパイラの問題: "mass [i] .mainN = scan.nextInt();"行のNullPointerExceptionが発生しました。私の考えでは、すべての変数 "mainN"と配列 "mass"を初期化しました。例外の理由は何でしょうか?配列内のNullPointerException
Robo[] mass = new Robo[N];
for(int i = 0; i < mass.length; i++) {
mass[i]= new Robo(); // Add this line
mass[i].mainN = scan.nextInt();
mass[i].auxiliary = scan.nextInt();
}
Javaはnull要素の配列を割り当てられた:配列の初期化
import java.util.Scanner;
public class Robotics{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
Robo[] mass = new Robo[N];
for(int i = 0; i < mass.length; i++) {
mass[i].mainN = scan.nextInt();
mass[i].auxiliary = scan.nextInt();
}
scan.close();
}
class Robo{
int mainN;
int auxiliary;
}
NullPointerExceptionは実行時の問題ではなく、コンパイルの問題ではありません:) –