Java 计算器案例“5”无限制选项

Java 计算器案例“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

伙计们

我需要帮助,这让人困惑。我用一些方法制作了这个计算器。我想知道我所做的是否是一种好的写作方式,或者是否有其他更好的写作方式。第二个问题是,如果您看到开关情况5,如果提示用户输入Y/N,则用户可以输入各种字符,而不仅仅是Y和N…如何限制用户仅使用Y和N

****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;
}