Вы упомянули, что у вас проблемы с
настройкой пользовательского ввода для всей проблемы
Надеюсь, это даст вам структуру для движения вперед.У вас есть два цикла while, но вам нужен один снаружи для управления циклом выбора пользователем режимов или выхода.
public class loopsProject {
public static void main(String[] args) {
System.out.println("Hello Codiva");
//Your variables here
//asking user to enter mode
System.out.print("Enter the calculator mode: Standard/Scientific?");
mode = scnr.nextLine();
//This loop controls the mode, user will keep on entering or they can quit
while (!mode.equals("Quit")) {
if (mode.equals("Standard")) {
//your Standard logic
}
else if (mode.equals("Scientific")) {
//your Scientific logic
}
else {
//Handle however you want or quit
break;
}
//Ask user for input again
System.out.print("Enter the calculator mode: Standard/Scientific?");
mode = scnr.nextLine();
}
}
}
, если операция недопустима, повторно выполните повторный запрос пользователя
Для случая, когда операции недопустимы, вы можете просто сказать пользователю, что операция недопустима, и continue
пропустить запрос их ввода.Таким образом, он сохраняет режим и перезапустит логику в следующем цикле.Это будет входить в вашу стандартную логику или научную логику, каждый раз, когда вам нужно проверить ввод пользователя.
if (...) { //your checks for user input invalid operation here
System.out.println("Invalid operation, please retry.");
continue;
}