I am a beginner, and I would like to know on how do I get this program out of bugs-
public class Calculator
{
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("*******************************************");
        System.out.println("MC MR MS M+ M-");
        System.out.println("<- CE C  +- √");
        System.out.println("7  8  9  /  %");
        System.out.println("4  5  6  * 1/x");
        System.out.println("1  2  3  - ");
        System.out.println("   0  .  + ");
        System.out.println("   =     ");
        System.out.println("*******************************************");
        System.out.println("");
        boolean stop = false;
        do {
            System.out.println("Please type the number you want to operate upon:");
            double x = sc.nextDouble();
            System.out.println("Please type the number you want to use to operate:");
            double y = sc.nextDouble();
            System.out.println("Type the operators. Available operators:\n1. +\n2. -\n3. *\n4. /\n5. %\n6. ^");
            char ch = sc.next().charAt(0);
            switch(ch) {
                case '+':
                double a = x + y;
                System.out.println("Result of adding the two numbers: " + a);
                break;
            
                case '-':
                double s = x - y;
                System.out.println("Result of subtracting two numbers: " + s);
                break;
            
                case '*':
                double m = x * y;
                System.out.println("Result of multiplying two numbers: " + m);
                break;
            
                case '/':
                double d = x / y;
                System.out.println("Result of dividing two numbers: " + d);
                break;
            
                case '%':
                double mod = x % y;
                System.out.println("Result of the remainder when dividing two numbers: " + mod);
                break;
            
                case '^':
                double p = Math.pow(x,y);
                System.out.println("Result of squaring the number: " + p);
                break;
            
                default:
                System.out.println("Invalid operator.");
                break;
            }
            System.out.println("Continue? Type Y to continue or N to end: ");
            String st = sc.nextLine();
            if(st.equals("n")) {
                stop = true;
            }
            else {
                stop = false;
            }
        } while(!stop);
  }
}
There are no errors at all, these are my wrong-doings in the program. After all the calculations are done, it puts me through a loop, and I don't seem to quite figure it out, on how to get the user input. It comes back to the start.
This is all I can put up, since I really don't have much to tell, if anything, I will edit this questions as users ask questions.
Thanks:)
 
     
    