我正在尝试制作一个对象数组。我有两个类,主要和另一个类的方法。我正在运行该程序的是TestTrivia,具有TestTrivia所有方法的类是Question。这个类的构造函数是 公共问题() { question =“null”; answer =“null”; pointValue = 0; } 我想做这样的事情 Person personArray [] = new Person [5];
for(int i=0; i< personArray.length; i++)
{
personArray[i] = new Person();
}
所以我试过了 问题问题阵列[] =新问题[5]; for(int i = 0; i&lt; QuestionArray.length; i ++) { QuestionArray [i] = new Question(); } 我试图在两个类中使用它,主要和一个方法。它应该进入主类正确吗?我得到的错误是整个for语句加下划线并说:非法启动类型找不到符号符号:class i location:class triviagame.TriviaGame包QuestionArray不存在 triviagame是包名,“TriviaGame”是类名,“Question”是另一个类名。
答案 0 :(得分: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
包中,则无需导入。
答案 1 :(得分:1)
您正在尝试在方法或构造函数或初始化程序块之外进行方法调用。不要这样做,而是确保您的代码位于正确的位置,例如在主方法或其他方法中。
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();
}
}