Я хочу, чтобы пользователь снова вводил информацию в первый цикл while после нажатия любой клавиши на клавиатуре. Как мне это достичь? Я делаю что-то неправильно с циклами while. Должен ли я просто иметь один цикл?
import java.util.Scanner;
public class TestMagicSquare
{
public static void main(String[] args)
{
boolean run1 = true;
boolean run2 = true;
Square magic = new Square();
Scanner in = new Scanner(System.in);
while(run1 = true)
{
System.out.print("Enter an integer(x to exit): ");
if(!in.hasNextInt())
{
if(in.next().equals("x"))
{
break;
}
else
{
System.out.println("*** Invalid data entry ***");
}
}
else
{
magic.add(in.nextInt());
}
}
while(run2 = true)
{
System.out.println();
if(!magic.isSquare())
{
System.out.println("Step 1. Numbers do not make a square");
break;
}
else
{
System.out.println("Step 1. Numbers make a square");
}
System.out.println();
if(!magic.isUnique())
{
System.out.println("Step 2. Numbers are not unique");
break;
}
else
{
System.out.println("Step 2. Numbers are unique");
}
System.out.println();
magic.create2DArray();
if(!magic.isMagic())
{
System.out.println("Step 3. But it is NOT a magic square!");
break;
}
else
{
System.out.println("Step 3. Yes, it is a MAGIC SQUARE!");
}
System.out.println();
System.out.print("Press any key to continue...");// Here I want the simulation
in.next();
if(in.next().equals("x"))
{
break;
}
else
{
run1 = true;
}
}
}
}