Java 带循环的字符输入?

Java Character Input With Loop?

伙计们,我想编写一个程序,通过异常处理找到 Nominator 和 Denominator 并计算它们的结果。我还添加了一个简单的界面,你想继续按 'y' 吗?或 'n'。字符为小写。

我希望该接口仅在两个 things.When 程序上出现 捕获错误的输入。以及计算结果的时间。

问题是当用户按下 'n' 它不会 quit.Or 当用户输入任何字符如 'aadswe'界面没有再次出现。我被这个问题困住了。

public class Main {
        public static void main(String[] args) {
            int numeator;
            int denominator;
            double result;
            Scanner s = new Scanner(System.in);
            char m = 'y';
            do {
                try {
                System.out.print("Enter Numenator:");
                numeator = s.nextInt();

                System.out.print("Enter Denominator:");
                denominator = s.nextInt();

                result = numeator / denominator;

                System.out.println("Answer: " + result);
            } catch (InputMismatchException e) {
                System.out.println("error=> must enter integer values");
            } catch (ArithmeticException e) {
                System.out.println("error=> falseairthmtic");
            }
            System.out.println("Would you continue prees 'y' or quit press 'n'");
            m = s.next().charAt(0);
        }
        while (m == 'y');
    }
}

使用下面的代码-

public static void main(String[] args) {
            int numeator;
            int denominator;
            double result;
            Scanner s = new Scanner(System.in);
            char m = 'y';
            do {
                try {
                System.out.print("Enter Numenator:");
                numeator = s.nextInt();

                System.out.print("Enter Denominator:");
                denominator = s.nextInt();

                result = numeator / denominator;

                System.out.println("Answer: " + result);
            } catch (InputMismatchException e) {
                System.out.println("error=> must enter integer values");
            } catch (ArithmeticException e) {
                System.out.println("error=> falseairthmtic");
            }
            System.out.println("Would you continue prees 'y' or quit press 'n'");
            m = s.next().charAt(0);
            while(m!='y'&& m!='n'){
                System.out.println("you can press only 'y'or'n' "+ m+ " is not allowed!!") ;
                m = s.next().charAt(0);
            }
        }
        while (m == 'y');
            System.out.println("Has been quit");
    }