【发布时间】:2017-04-25 23:10:01
【问题描述】:
我正在开发一个有 4 种模式的计算器程序。
二进制(以 2 为底)、八进制(以 8 为底)、十进制(以 10 为底)和十六进制(以 16 为底)。
我想知道如何检查输入的用户输入是否与当前模式匹配。例如,如果计算器设置为八进制模式,我如何检查用户输入的内容是否以 8 为基数?或者如果它处于十六进制模式,如何检查它是否以 16 为基数?
程序以十进制模式启动并显示此菜单。
private static String displayMenu(String mode) {
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
System.out.println(mode + " mode\n");
System.out.println("Bin - Binary +");
System.out.println("Oct - Octal -");
System.out.println("Dcm - Decimal *");
System.out.println("Hex - Hexadecimal /");
System.out.println("Q - Quit =");
System.out.print("Option or value: ");
String option = input.nextLine();
option.toUpperCase();
return option;
}
用户可以更改模式或输入当前模式的值。
【问题讨论】:
-
这是命令行程序还是 GUI 程序?
-
这是一个命令行程序。
-
用户如何指定“模式”?
-
假设如果可以检测到当前模式,您可以验证用户输入对于给定模式是否有效。这个post 可能有助于验证十进制、二进制模式。八进制,十六进制。
标签: java java.util.scanner user-input