【问题标题】:Creating an array of objects help needed创建对象数组需要帮助
【发布时间】:2011-11-20 23:35:52
【问题描述】:

我正在尝试创建一个对象数组。我有两个类,方法的主要类和另一个类。我在其中运行程序的是 TestTrivia,具有 TestTrivia 的所有方法的类是 Question。这个类的构造函数是 公共问题() { 问题=“空”; 答案=“空”; 点值 = 0; } 我正在尝试做这样的事情 人 personArray[] = new Person[5];

   for(int i=0; i< personArray.length; i++)
   {
    personArray[i] = new Person();
  }

所以我试过了 问题 QuestionArray[] = new Question[5]; for(int i=0; i

【问题讨论】:

  • 请以小写开始变量名,并且数组通常在 Java 中声明为Question[] questionArray(尽管我称之为questions)。请显示您正在尝试的确切代码,而不仅仅是片段。
  • 这个问题真的不需要其余代码,我只是想弄清楚为什么它不起作用,没有其他方法或代码行会影响这一点,我知道的很多.当这些代码都不会直接或间接影响尝试创建对象数组时,我不想用大量代码将人们混淆
  • 哦,好吧,那祝你好运。你不觉得它指的是class i有点奇怪吗?除了误导性的变量名之外,单独的片段绝对没有错。
  • 我刚刚离开我的书,在所有示例中它都使用 i 或 index。
  • 正如我所说,所示代码没有任何问题。这就是为什么我认为这个问题与所示代码之外的其他东西有关,以及为什么我要求它的上下文。误导变量名是QuestionArray,而不是i。

标签: java arrays object methods


【解决方案1】:

循环代码需要在方法中,例如main。

此外,如果它们不在同一个包中,您将需要导入不在“当前”包中的类。例如,如果Question 在默认包中,则需要将其导入TriviaGame 类中。

package triviagame;

import Question;

public class TriviaGame {
    public static void main(String[] args) {
        System.out.println("Welcome to the New Age Trivia game");
        System.out.println("You will be asked five questions, let us begin");
        Question questionArray[] = new Question[5];
        for (int i = 0; i < questionArray.length; i++) {
            questionArray[i] = new Question();
        }
    }
}

如果Question 类也在triviagame 包中,则不需要导入。

【讨论】:

  • 是的,我刚刚注意到,我从另一个地方复制并复制到主块之外,仍然犯了这些简单的错误
  • @RedDragon 简单的错误永远不会停止 ;) 他们只是更容易找到。
【解决方案2】:

您试图在方法或构造函数或初始化程序块之外进行方法调用。不要这样做,而是确保您的代码位于正确的位置,例如在 main 或其他方法中。

public class TriviaGame {

   public static void main(String[] args) 
   {
      System.out.println("Welcome to the New Age Trivia game");
      System.out.println("You will be asked five questions, let us begin");
   }

   // this code is sitting out in the middle of no-where
   Question questionArray[] = new Question[5];
   for(int i=0; i< questionArray.length; i++)
   {
     questionArray[i] = new Question();
   }

}

【讨论】:

  • 看来我还没有完成简单的错误,我把它复制到块外
  • @RedDragon:那么你需要将它复制到 inside 块中。
猜你喜欢
  • 1970-01-01
  • 2013-12-08
  • 1970-01-01
  • 2011-03-08
  • 2015-07-16
  • 1970-01-01
  • 1970-01-01
  • 2020-03-06
  • 2019-06-12
相关资源
最近更新 更多