简体   繁体   中英

how to add while loop in switch statement when using dialog boxes?

Here I have some problem when I use while loop in switch statement using dialog boxes. Some statements are unreachable and dialog boxes not appeared. Please help me! And also can do some correction on my code.

This the simple code that I made:

public static void main(String[] args)
{
    // prompt and read first number from user
    String no = JOptionPane.showInputDialog(null, "Enter the number");
    int num = Integer.parseInt(no);         //convert string to number

        switch (num)
        {
        //display result

            default: JOptionPane.showMessageDialog(null,"fail"); break;
            case 1: JOptionPane.showMessageDialog(null,"c=a+b"); break;
            case 2: JOptionPane.showMessageDialog(null,"c=a/b"); break;
            case 3: JOptionPane.showMessageDialog(null,"c=a*b"); break;
            case 4: JOptionPane.showMessageDialog(null,"c=a-b"); break;
        }
}

The cases in a switch/case are evaluated in the order you put them. default matches all cases. Since you have that first and that case does something before breaking out of it, the other cases will never be reached. Try this instead:

case 1: JOptionPane.showMessageDialog(null,"c=a+b"); break;
case 2: JOptionPane.showMessageDialog(null,"c=a/b"); break;
case 3: JOptionPane.showMessageDialog(null,"c=a*b"); break;
case 4: JOptionPane.showMessageDialog(null,"c=a-b"); break;
default: JOptionPane.showMessageDialog(null,"fail"); break;

Your code does not show a while loop anywhere. Perhaps you can update with the code you attempted.

switch (num)
{
    case 1:
    while(!your condition)
    {
      JOptionPane.showMessageDialog(null,"c=a+b");
    }
    break;
    case 2: JOptionPane.showMessageDialog(null,"c=a/b"); break;
    case 3: JOptionPane.showMessageDialog(null,"c=a*b"); break;
    case 4: JOptionPane.showMessageDialog(null,"c=a-b"); break;
    default: JOptionPane.showMessageDialog(null,"fail"); break;
}

Retype the code:

    // prompt and read first number from user
    String no = JOptionPane.showInputDialog(null, "Enter the number");
    int num = Integer.parseInt(no);         //convert string to number

    while (num<=4)
    {
    if
        switch (num)
        {
        //display result

            case 1: JOptionPane.showMessageDialog(null,"c=a+b"); break;
            case 2: JOptionPane.showMessageDialog(null,"c=a/b"); break;
            case 3: JOptionPane.showMessageDialog(null,"c=a*b"); break;
            case 4: JOptionPane.showMessageDialog(null,"c=a-b"); break;
            default: JOptionPane.showMessageDialog(null,"fail"); continue;
        }
}// end method main

}// end class abc

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM