Hello All

I am writing this program which:
- generates two random numbers
-ask user to multiply them
-checked users answer to see if its correct.
- if not correct, asked the user to guess again

I have everything working except the loop that is needed to have the user continue to guess if inputing the wrong answer.

As it stands right now, if the user answers correct, get a message saying "you answered correct.

If user is wrong, gets message saying "Guess Again". I need to figure out how to have the program loop back around to have user input a new answer until user gets it right


import java.io.*;
import java.util.Random;
public class math
{
//-----------------------------------------------------------------
// Generates random numbers
//-----------------------------------------------------------------
public static void main (String[] args)throws IOException
{
DataInputStream stdin = new DataInputStream (System.in);
Random generator = new Random();
int num1;
int num2;
int guess;
int answer;
String string1;

num1 = generator.nextInt(13); //Gets random num1

num2 = generator.nextInt(13); //Gets Random num2

System.out.println ("what is " + num1 + "*" + num2);


string1 = stdin.readLine();
guess = Integer.parseInt(string1);
answer = (num1 * num2);

if (guess == answer)
{ //Begin if bracket
System.out.println("Very good, the correct answer is " + answer);
} //End if Bracket
else
{ //Begin Else Brakcets
System.out.println("Guess again");
}
//End Else brackets
}

} //Close MAIN bracket


} //Close CLASS MATH bracket

Recommended Answers

All 5 Replies

Member Avatar for iamthwee

Have a while loop:

I figured it out. Thanks

Write a java program to find the result of the following
equations for the values given.
a. sin^(theta) + cos^2(theta) where theta=90 degrees
b. (x+y)^2/(x-y)^2 where x=4.0, y=2.0
c. logx + x^3 where x=10
d. e^x -2x + 3y where x =1, y=2.5
e. (x+y)^3 where x=1, y=1
f. min(x,y) and max(x,y) where x=-2.5, y=-2.5123
Note: the name of the class must be H5

import java.io.*;
import java.util.Random;

public class Math {
    //-----------------------------------------------------------------
// Generates random numbers
//-----------------------------------------------------------------
    public static void main(String[] args) throws IOException {
        BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
        Random generator = new Random();
        int num1;
        int num2;
        int guess;
        int answer;
        String string1;

        num1 = generator.nextInt(13); //Gets random num1

        num2 = generator.nextInt(13); //Gets Random num2

        System.out.println("what is " + num1 + "*" + num2);


        string1 = stdin.readLine();
        guess = Integer.parseInt(string1);
        answer = (num1 * num2);

        while(answer != guess)
        {

            System.out.println("Guess again");
            string1 = stdin.readLine();
            guess = Integer.parseInt(string1);

        }

        System.out.println("Very good, the correct answer is " + answer);


    }


}

I_1 What exactly is the point of your post?
This thread was dead 7 years ago. And anyway, we don't do people's homework here, so just posting an uncommented, unexplained, repetitive, fragile code down't really help anyone.

As a newcomer you may find it useful to spend a little time reading current post activity to see how things go here.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.