如何结合switch和if else语句

时间:2010-06-27 14:01:34

标签: java switch-statement flow-control

我正在参加在线java课程,老师要求以下内容: 编写一个菜单程序,询问用户一个表示四个基本数学方程(加法,减法,乘法,除法)的数字。使用if / else结构执行所需操作,询问用户输入并求解方程式。 我是新手,但我没有看到if / else的意思,但我想这是无关紧要的。

如果我使用下面的案例1,2,3,4来确定操作,我如何使用'If语句'重新引用案例?

int userSelection;
double x;        
double y;        
double answer;

switch ( userSelection ) {
   case 1:
        TextIO.putln("Let's add! ");
        TextIO.putln();
        TextIO.putln("Enter the first number: ");
        x = TextIO.getlnDouble();
    TextIO.putln("Enter the second number: ");
        y = TextIO.getlnDouble();
        break;

//我以为我可以像这样使用'If'

        if (case 1);  // I don't know how to refference this correctly
        answer = x + y;
        TextIO.putln( x 'plus' y 'equals' answer);

提前致谢!

5 个答案:

答案 0 :(得分:1)

这是重写CASE语句的presudo代码:

IF (Case==1) THEN
  *What to do when Case==1.*
ELSE IF (Case==2) THEN
  *What to do when Case==2.*
ELSE IF (Case==3) THEN
  *What to do when Case==3.*
ELSE IF (Case==4) THEN
  *What to do when Case==4.*
END IF

你必须用Java编写代码。祝你的任务好运。

答案 1 :(得分:1)

switch用于针对单个给定的变量/表达式,然后使用的是案例值,但因为您没有测试单个变量/表达式,这不适用,您应该使用{{而不是结构。

答案 2 :(得分:1)

switch case语句是使用嵌套if..else语句的结构替代方法,您希望为数值或数值数据类型的不同值运行不同的逻辑。它不与if..else结合,而2是解决条件问题的不同方法。哪一个更适合取决于您正在评估的条件。

如果我正确理解你的代码,那么我认为你正在寻找这样的东西:

switch ( userSelection ) {  
case 1:  
    TextIO.putln("Let's add! ");  
    TextIO.putln();  
    TextIO.putln("Enter the first number: ");  
    x = TextIO.getlnDouble();  
    TextIO.putln("Enter the second number: ");  
    y = TextIO.getlnDouble();  
    answer = x + y;    
    TextIO.putln( x + " plus " + y + " equals " + answer);   
    break;  
case 2:  
    ... //oh, I don't know. but I would guess: let's subtract!  
    break; 
case 3:  
    ... //let's multiply!
    break; 
case 4:  
    ... //let's divide! 
    break; 

}

答案 3 :(得分:1)

您正在启用 userSelection ,因此 userSelection 已经拥有您需要的值;您可以通过引用 userSelection 变量来引用该值:

if (userSelection == 1) {
    // add
} else if (userSelection == 2) {
   // subtract
} else if (userSelection == 3) {
   // multiply
} else if (userSelection == 2) {
   // divide
}

答案 4 :(得分:0)

在我看来,您的教师不希望您使用switch语句开头,而只是使用if流控制结构:

if(booleanExpression)
{

}
else if(booleanExpression2)
{

}