This question already has answers here:
How do I compare strings in Java?
                                
                                    (23个答案)
                                
                        
                3年前关闭。
            
        

import java.util.Scanner;
public class SwitchCase {

    public static void main(String[] args) {

        Scanner sc=new Scanner(System.in);

        String ch="NULL";
        do

        {
            System.out.println("Enter your choice:");
            String str=sc.next();
            switch(str)
          {

            case "Add":
            {
            System.out.println("Enter 2 nos:");
            int a=sc.nextInt();
            int b=sc.nextInt();
            int c=a+b;
            System.out.println("Adiition is:"+c);
            break;
            }

            case "Sub":
            {
                System.out.println("Enter 2 nos:");
                int a1=sc.nextInt();
                int a2=sc.nextInt();
                int a3=a1-a2;
                System.out.println("Sub is:"+a3);
                break;

            }
            case "Multiply":
            {
                System.out.println("Enter 2 nos:");
                int a1=sc.nextInt();
                int a2=sc.nextInt();
                int a3=a1*a2;
                System.out.println("Sub is:"+a3);
                break;
            }

            case "Divide":
            {
                System.out.println("Enter 2 nos:");
                int a1=sc.nextInt();
                int a2=sc.nextInt();
                int a3=a1/a2;
                System.out.println("Sub is:"+a3);
                break;
            }
            case "Fib":
            {
                System.out.println("Enter the range:");
                int n=sc.nextInt();

                 if (n == 0)
                 {
                     System.out.println("0");
                 }
                 else if (n == 1)
                 {
                       System.out.println("0 1");
                 }
                 else
                 {
                       System.out.print("0 1 ");
                       int a = 0;
                       int b = 1;
                       for (int i = 1; i < n; i++)
                       {
                           int nextNumber = a + b;
                           System.out.print(nextNumber + " ");
                           a = b;
                           b = nextNumber;
                       }
                 }
        }
    }
        System.out.println("Do you want to continue? y or n");
      ch=sc.next();
        }           while(ch=="y");

    }

}


在while循环之后,当用户输入“ y”时,应询问“是否要继续”,但不会发生。我调试了代码,直到“您要继续?”都可以正常运行。但是之后:

在Eclipse中调试时出现未找到源错误

最佳答案

while(ch.equals("y"));


使用等于代替运算符“ ==”。

查看Oracle教程:Comparing Strings

09-25 10:58