I get an infinite loop every time I input the numbers 1, 3, 5 and I don't know how to fix it. This is a mastermind program using arrays in which pegs are used instead of numbers. The problem is most likely in the while loop in which was changed to make the program more condensed. Any help would be amazing.
package New;
import java.util.Random;
import New.ArrayMethod2;
import TurtleGraphics.KeyboardReader;
public class Mastermind2 {
public static void main(String[] args) {
Mastermind2 object = new Mastermind2();KeyboardReader reader = new KeyboardReader();
int[] V = new int [3];
do {
System.out.println("Please choose your first number (1-5)");
V[0]=reader.readInt();
System.out.println("Please choose your second number (1-5)");
V[1]=reader.readInt();
System.out.println("Please choose your third number (1-5)");
V[2]=reader.readInt();
}while((V[0]>5)&&(V[1]>5)&&(V[2]>5));
object.CorrectVariables(V[0], V[1], V[2]);
}
public void CorrectVariables(int num1, int num2, int num3) {
Mastermind1 object = new Mastermind1();
int Cornum1, Cornum2, Cornum3;
Random generator = new Random();
Cornum1 = generator.nextInt(5)+1;
Cornum2 = generator.nextInt(5)+1;
Cornum3 = generator.nextInt(5)+1;
IFstatements(Cornum1, Cornum2, Cornum3, num1, num2, num3);
}
public void IFstatements(int Cornum1, int Cornum2, int Cornum3, int num1, int num2, int num3) {
Mastermind1 object = new Mastermind1();
do{
int Number=0, Color=0;
if(Cornum1==num1)
{
Number++;
Color++;
}
if(Cornum1==num2)
{
Color++;
}
if(Cornum1==num3)
{
Color++;
}
if(Cornum2==num2)
{
Number++;
Color++;
}
if(Cornum2==num1)
{
Color++;
}
if(Cornum2==num3)
{
Color++;
}
if(Cornum3==num3)
{
Number++;
Color++;
}
if(Cornum3==num1)
{
Color++;
}
if(Cornum3==num2)
{
Color++;
}
System.out.println("You have "+Number+" numbers correct and "+Color+" colors correct");
if((Cornum1!=num1)||(Cornum2!=num2)||(Cornum3!=num3));
{
Number=0;
Color=0;
}
}while((Cornum1!=num1)&&(Cornum2!=num2)&&(Cornum3!=num3));
System.out.println("Congrats you guessed the correct numbers");
}
}
Print out: