main中的错误:java.lang.NullPointerException

时间:2016-03-06 17:53:09

标签: java arrays class main

我是java编程的新手。我的代码有问题,无论我尝试什么,我都会收到此错误。所以我有一个主类和一个Pair类(它有2个成员变量(private int a,private int b),Pair类有它的setter和getters。我一直在尝试创建一个Pair数组并初始化它,但我一直收到这个错误:线程中的异常" main" java.lang.NullPointerException

package com.company;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("enter a puis b");
    int x=0;
    int y=0;

    Pair p []= new Pair[6];

    for (int i = 0; i < p.length; i++) {
        x = sc.nextInt();
        y = sc.nextInt();
        p[i].setA(x);
        p[i].setB(y);
    }
    for (int i = 0; i < p.length; i++) {
        System.out.println(p[i]);
    }


}
}

继承人班级:

public  class Pair {
private int a = 0;
private int b = 0;

public Pair() {
    this.b = 0;
    this.a = 0;
}

public int getA() {
    return a;
}

public void setA(int x) {
    a = x;
}

public int getB() {
    return b;
}

我需要一些帮助。谢谢你的时间:))

1 个答案:

答案 0 :(得分:0)

您没有初始化阵列的每个成员,您需要使用:

p[0] = new Pair();等等......

您可以在for循环中执行此操作:

for (int i = 0; i < p.length; i++) {
    p[i] = new Pair();
    ... // more code
}