I have been moving from python to java so still getting used to OOP. I tried to make a game that would generate 2 random numbers and the user would have to add them together.
However when i run the game i get an unexpected error code:
Exception in thread "main" java.lang.NoSuchMethodError: 'void Game.playGame()' at additionGame.main(additionGame.java:8)
I have added my code below:
import java.util.Scanner;
import java.util.Random;
public class AdditionGame {
public static void main(String[] args){
Game gameObject = new Game();
gameObject.playGame();
}
}
class Game {
int score = 0;
public int generateNumber(){
int number;
Random random = new Random();
number = random.nextInt(20)+1;
return number;
}
public void playGame(){
int i = 0;
while (i<10){
int number1;
int number2;
int answer;
String userAnswerSTR;
int userAnswer;
i++;
number1 = generateNumber();
number2 = generateNumber();
answer = number1 + number2;
System.out.println("What is " + number1 + "+" + number2 + " :");
Scanner scannerObject = new Scanner(System.in);
userAnswerSTR = scannerObject.nextLine();
scannerObject.close();
userAnswer = Integer.parseInt(userAnswerSTR);
if (userAnswer == answer){
System.out.println("Correct Answer!");
score ++;
}
else {
System.out.println("Incorrect! The answer was: " + answer);
}
}
System.out.println("Congratulations! Your score was: " + score);
}
}
I expected the game to run 10 times round then print the users score
Here is the approch you can try :