【发布时间】:2021-01-03 00:08:50
【问题描述】:
我正在尝试进行数学测验,但我最近开始学习 Java,但遇到了一些麻烦。我已经阅读了有关访问方法和内容的信息,但我不明白所有这些应该如何帮助我。
import java.util.Scanner;
public class MatQui{
Scanner scan = new Scanner(System.in);
int correct = 0;
public static void main(String[] args) {
System.out.println("Enter your name: ");
String name = scan.nextLine();
System.out.println("Hello " + name + "! Answer the questions.");
firstQuiz();
}
public void firstQuiz() {
int randomNum1 = (int)(Math.random() * 101 +1);
int randomNum2 = (int)(Math.random() * 101 +1);
int RandomAddSolution = scan.nextInt();
int CorrectAddSolution = randomNum1 + randomNum2;
System.out.println(randomNum1 + " + " + randomNum2 + " = ?");
if (RandomAddSolution == CorrectAddSolution) {
System.out.println("Correct!");
correct++;
}
else if (RandomAddSolution != CorrectAddSolution) {
System.out.println("Wrong! The correct answer is: " + CorrectAddSolution);
}
secondQuiz();
}
public void secondQuiz() {
int randomNum1 = (int)(Math.random() * 101 +1);
int randomNum2 = (int)(Math.random() * 101 +1);
int RandomMinusSolution = scan.nextInt();
int CorrectMinusSolution = randomNum1 - randomNum2;
System.out.println(randomNum1 + " - " + randomNum2 + " = ?");
if (RandomMinusSolution == CorrectMinusSolution) {
System.out.println("Correct!");
correct++; //Ly Huong Van
}
else if (RandomMinusSolution != CorrectMinusSolution) {
System.out.println("Wrong! The correct answer is: " + CorrectMinusSolution);
}
thirdQuiz();
}
public void thirdQuiz() {
int randomNum1 = (int)(Math.random() * 11 +1);
int randomNum2 = (int)(Math.random() * 11 +1);
int RandomMulSolution = scan.nextInt();
int CorrectMulSolution = randomNum1 * randomNum2;
System.out.println(randomNum1 + " + " + randomNum2 + " = ?");
if (RandomMulSolution == CorrectMulSolution) {
System.out.println("Correct!");
correct++;
}
else if (RandomMulSolution != CorrectMulSolution) {
System.out.println("Wrong! The correct answer is: " + CorrectMulSolution);
}
fourthQuiz();
}
public void fourthQuiz() {
int randomNum1 = (int)(Math.random() * 101 +1);
int randomNum2 = (int)(Math.random() * 11 +1);
int RandomDivSolution = scan.nextInt();
int CorrectDivSolution = randomNum1 / randomNum2;
System.out.println(randomNum1 + " / " + randomNum2 + " = ?");
if (RandomDivSolution == CorrectDivSolution) {
System.out.println("Correct!");
correct++;
endingScreen();
}
else if (RandomDivSolution != CorrectDivSolution) {
System.out.println("Wrong! The correct answer is: " + CorrectDivSolution);
endingScreen();
}
}
public void endingScreen() {
int percentageCorrect = correct * 25;
System.out.println("You answered " + correct + " questions correctly.!\n"
+ "That's " + percentageCorrect + "%!");
if (correct == 0) {
System.out.println(":(");
}
else if (correct != 0) {
System.out.println(":)");
}
}
我想从 main 访问“firstQuiz()”方法,但我收到错误消息,即我无法从静态 main 访问非静态元素。我该如何使用它?
【问题讨论】:
-
您需要在您的
main中创建此类的实例...该类的名称是什么? -
你需要一个类的实例。在
main中你还没有,因为它是static。使用new在main内部创建一个实例。 -
您有四个不同的方法,其中包含几乎相同的代码。你真的应该重写它,让它成为一个单一的方法,你可以在其中使用参数来处理方法的变体。
-
抱歉,我编辑了代码。我一定是错过了我没有复制开头。
-
你也应该遵守Java命名约定:变量名和方法名应该用驼峰命名。
标签: java