【问题标题】:error in main: java.lang.NullPointerException [duplicate]主要错误:java.lang.NullPointerException [重复]
【发布时间】:2016-06-20 05:05:37
【问题描述】:

我是 Java 编程新手。我的代码有问题,无论我尝试什么,我都会不断收到此错误。所以我有一个主类和一个 Pair 类(它有 2 个成员变量(私有 int a,私有 int b)Pair 类有它的 setter 和 getter。我一直在尝试创建一个 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]);
    }


}
}

这里是 Pair 类:

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;
}

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

【问题讨论】:

  • 使用前需要对数组的每个元素进行初始化-p[i] = new Pair();
  • 你太棒了

标签: java arrays class main


【解决方案1】:

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

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

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

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

【讨论】:

  • 非常感谢!感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-20
  • 1970-01-01
  • 2016-05-29
  • 2016-08-16
相关资源
最近更新 更多