Java 使用数组调用方法时出现问题
我是Java新手,刚刚开始了我的第一个半认真的任务。我相信我的大部分代码都在工作,唯一的问题是因为我一直在使用类,我似乎不能调用一个在我的主类中使用数组的方法。我想调用的所有其他方法似乎都有效。我想知道是否有人对此有任何解释或简单的解决办法 提前感谢您花时间研究,非常感谢Java 使用数组调用方法时出现问题,java,arrays,class,methods,Java,Arrays,Class,Methods,我是Java新手,刚刚开始了我的第一个半认真的任务。我相信我的大部分代码都在工作,唯一的问题是因为我一直在使用类,我似乎不能调用一个在我的主类中使用数组的方法。我想调用的所有其他方法似乎都有效。我想知道是否有人对此有任何解释或简单的解决办法 提前感谢您花时间研究,非常感谢 import java.util.Scanner; public class GeographyQuizMain { public static void main(String[] args) {
import java.util.Scanner;
public class GeographyQuizMain
{
public static void main(String[] args)
{
takeQuiz();
}
public static void takeQuiz(Question[][] questions)
{
int score = 0;
RandomNumber randomQuestion = new RandomNumber();
//user chooses catergory
int cat = pickCatergory();
//ask 10 questions
for(int i = 0; i < 10;)
{
Scanner answerChoice = new Scanner(System.in);
randomQuestion.dice();
int q = (randomQuestion.dice() - 1);
//checks to see if question as been asked before
if (!questions[cat][q].beenAsked)
{
questions[cat][q].beenAsked = true; //changes question status to beenAsked
System.out.println(questions[cat][q].promt);
String answer = answerChoice.nextLine();
System.out.println("\nYou picked: " + answer + "\nThe correct answer was: " + questions[cat][q].answer + "\n");
if(answer.equals(questions[cat][q].answer))
{
score++;
}
i++;
}
}
System.out.println("That is the end of the quiz!\n"
+ "You got " + score + "/10");
}
import java.util.Scanner;
公共类地理图
{
公共静态void main(字符串[]args)
{
takequick();
}
公共静态无效测验(问题[][]问题)
{
智力得分=0;
RandomNumber randomQuestion=新的RandomNumber();
//用户选择类别
int cat=pickCatergory();
//问10个问题
对于(int i=0;i<10;)
{
扫描仪应答选项=新扫描仪(System.in);
问题。骰子();
int q=(randomQuestion.dice()-1);
//检查问题是否与以前的问题相同
如果(!问题[cat][q].beenAsked)
{
问题[cat][q].beenAsked=true;//将问题状态更改为beenAsked
System.out.println(问题[cat][q].promt);
字符串answer=answerChoice.nextLine();
System.out.println(“\n您选择:“+answer+”\n正确答案是:“+questions[cat][q]。answer+”\n”);
如果(回答.等于(问题[cat][q].回答))
{
分数++;
}
i++;
}
}
System.out.println(“测验到此结束!\n”
+“你得到”+分数+“/10”);
}
您调用了您的方法takequick()
而没有实际提供其参数问题[][]问题您调用了您的方法takequick()
而没有实际提供其参数问题[][]问题
您的问题在于调用本身
这一行publicstaticvoidtakequick(问题[][]问题)
说明该方法将接受名为Question的对象的二维数组([]])。
另一方面,您的调用-takequick();
不会通过这样的数组
您应该初始化这样的数组,使其编译并将其传递给函数。
问题[][]问题数组=GenerateQuestionArray();//您应该编写此方法
小测验(问题阵列);
正如你所说的,很明显你是Java新手,我强烈建议你阅读课堂上提供给你的说明和相关信息。我敢打赌,其中涵盖了对象初始化、方法和数组的详细信息。你的问题在于调用本身
这一行publicstaticvoidtakequick(问题[][]问题)
说明该方法将接受名为Question的对象的二维数组([]])。
另一方面,您的调用-takequick();
不会通过这样的数组
您应该初始化这样的数组,使其编译并将其传递给函数。
问题[][]问题数组=GenerateQuestionArray();//您应该编写此方法
小测验(问题阵列);
正如你所说的,很明显你是Java新手,我强烈建议你阅读课堂上提供给你的说明和相关信息。我敢打赌,对象初始化、方法和数组的细节都包含在这里。在你的方法测试()中,你的方法调用似乎有问题;正在使用二维数组进行提问,但在调用时您没有提供该参数,因此编译器无法找到该方法。
这就是问题所在
试着这样使用,这对你来说是一个简单的例子。用你的实际值替换它
字符串[][]问题=新字符串[3][3]
测验(问题)
这将起作用。在您的方法takequick()中,您的方法调用的问题似乎是采用二维数组进行提问,但在调用时您没有提供该参数,因此编译器无法找到该方法。
这就是问题所在
试着这样使用,这对你来说是一个简单的例子。用你的实际值替换它
字符串[][]问题=新字符串[3][3]
测验(问题)
这将起作用。向我们展示你的问题中有什么
类展示你的问题中有什么
类