Java 计算器案例“5”无限制选项
伙计们 我需要帮助,这让人困惑。我用一些方法制作了这个计算器。我想知道我所做的是否是一种好的写作方式,或者是否有其他更好的写作方式。第二个问题是,如果您看到开关情况5,如果提示用户输入Y/N,则用户可以输入各种字符,而不仅仅是Y和N…如何限制用户仅使用Y和NJava 计算器案例“5”无限制选项,java,eclipse,Java,Eclipse,伙计们 我需要帮助,这让人困惑。我用一些方法制作了这个计算器。我想知道我所做的是否是一种好的写作方式,或者是否有其他更好的写作方式。第二个问题是,如果您看到开关情况5,如果提示用户输入Y/N,则用户可以输入各种字符,而不仅仅是Y和N…如何限制用户仅使用Y和N ****THIS IS MY MAINCALC JAVA FILE****** package calculator; import java.util.Scanner; public class MainCalc { public
****THIS IS MY MAINCALC JAVA FILE******
package calculator;
import java.util.Scanner;
public class MainCalc {
public static void main (String args []) {
Scanner scan = new Scanner(System.in);
Calcmethod calc = new Calcmethod();
char choice;
do {
System.out.println("<*-*-*-*-*-*>");
System.out.println("1. Add ");
System.out.println("2. Sub ");
System.out.println("3. Mul ");
System.out.println("4. Div ");
System.out.println("5. Exit");
System.out.println("<*-*-*-*-*-*>\n");
choice = scan.next().charAt(0);
switch (choice){
case '1': System.out.println("The CalcVal is: " + "" + calc.calcAdd());
break;
case '2': System.out.println("The CalcVal is: " + "" + calc.calcSub());
break;
case '3': System.out.println("The CalcVal is: " + "" + calc.calcMul());
break;
case '4': System.out.println("The CalcVal is: " + "" + calc.calcDiv());
break;
case '5': System.out.println("Are You Sure y/n??");
choice = scan.next().charAt(0);
if (choice !='n') {
System.out.println("Thanks for using Calc!!!");
System.exit(0);
}
break;
default: System.out.println("Wrong Choice of Selection - Please Select between 1-5 only");
break;
}//switch
}while (choice != '5');
scan.close();
}
}
您不能限制用户输入。通过使用异常处理,您只能预测并让程序准备好任何可能导致错误的输入。第一个问题属于。第二个问题的答案是你不能。您可以验证输入,但无法控制它。@AndyTurner该链接有何关联?@AndyTurner我支持您:@shmosel干杯!注意:您可以在输入方法之前询问该值,这样会减少冗余。您只需要更新方法以接受所需的参数
****THIS IS MY CALCMETHOD JAVA FILE******
package calculator;
import java.util.Scanner;
public class Calcmethod {
Scanner scan = new Scanner(System.in);
public double calcAdd(){
System.out.println("Enter 1st Val: ");
double x = scan.nextDouble();
System.out.println("Enter 2nd Val: ");
double y = scan.nextDouble();
double res = (x+y);
return res;
}
public double calcSub(){
System.out.println("Enter 1st Val: ");
double x = scan.nextDouble();
System.out.println("Enter 2nd Val: ");
double y = scan.nextDouble();
double res = (x-y);
return res;
}
public double calcMul(){
System.out.println("Enter 1st Val: ");
double x = scan.nextDouble();
System.out.println("Enter 2nd Val: ");
double y = scan.nextDouble();
double res = (x*y);
return res;
}
public double calcDiv(){
System.out.println("Enter 1st Val: ");
double x = scan.nextDouble();
System.out.println("Enter 2nd Val: ");
double y = scan.nextDouble();
double res = (x/y);
return res;
}