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中调试时,找不到源错误
答案 0 :(得分:2)
答案 1 :(得分:0)
在while状态下,您正在比较ch=="y"
。比较字符串时,您应该使用equals
方法,例如"y".equals(ch)
。等于运算符将测试这两个值是否具有相同的参考值,显然,它们不会。