Петля
A do-while
, вероятно, является самым чистым решением.Хорошей идеей будет сбросить System.out
, когда вы print
(если вы не добавите новую строку, неявный сброс не выполняется).Если вы действительно хотите цикл while
, вы можете использовать тот факт, что назначение разрешается с правой стороны, например:
Scanner input = new Scanner(System.in);
System.out.print(" >: ");
System.out.flush();
String pass;
while (!(pass = input.nextLine()).equals("0286139")) {
System.out.println(" ------------------------------------- ");
System.out.println(" Incorrect password. Try again. ");
System.out.println(" ------------------------------------- ");
System.out.print(" >: ");
System.out.flush();
}
Но do-while
(как упоминалось) будет чище, и можетпохожи
Scanner input = new Scanner(System.in);
do {
System.out.print(" >: ");
System.out.flush();
String pass = input.nextLine();
if (pass.equals("0286139")) {
break;
}
System.out.println(" ------------------------------------- ");
System.out.println(" Incorrect password. Try again. ");
System.out.println(" ------------------------------------- ");
} while (true);