【问题标题】:error in create array object in java code在 java 代码中创建数组对象时出错
【发布时间】:2020-02-11 04:53:05
【问题描述】:

我有一个按名片分类的课程,它的代码如下

class card {
 private String word, mean;

 public card() {}

 public card(String w, String m) {
  this.word = w;
  this.mean = m;
 }

 // Getter and setter ...

}

然后如果我在主函数中编写波纹管代码

card[] c=new card[3];   
c[1].setword("Hello");

我收到了NullPointerException

我该如何解决?

【问题讨论】:

    标签: java oop nullpointerexception arrayobject


    【解决方案1】:

    发生这种情况是因为您只是初始化了一个数组,但没有初始化数组的元素。如果您将数组的元素打印到 System.out,您将看到它们全部为空。您必须初始化数组的每个元素。

    card[] c = new card[3];
    c[1] = new card();
    c[1].setword("Hello");
    c[2] = new card();
    ...
    

    【讨论】:

      【解决方案2】:

      这一行:

       card[] c=new card[3];
      

      您刚刚创建了一个大小 = 3 的数组对象来存储 card,但没有创建任何 card 对象。 所以要修复它,你必须创建 card 对象并存储在你的数组中。

      card[] cards = new card[3];
      for (int i = 0; i < 3; i++) {
         cards[i] = new card();
      }
      cards[1].setword("Hello");
      

      顺便说一下,你应该用第一个字母大写来命名你的类,这是java命名约定。

      【讨论】:

        【解决方案3】:

        您需要先初始化对象,然后设置如下值 -

        c[1] = new card();
        

        然后

        c[1].setword("Hello");
        

        希望这会有所帮助。

        【讨论】:

          猜你喜欢
          • 2018-10-11
          • 1970-01-01
          • 2021-05-04
          • 1970-01-01
          • 2011-07-18
          • 2021-05-19
          • 1970-01-01
          • 2020-12-17
          相关资源
          最近更新 更多