1

我正在上一门在线 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);

提前致谢!

4

5 回答 5

1

这是重写CASE语句的预设代码:

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 编写代码。:) 祝你任务顺利。

于 2010-06-27T14:06:37.127 回答
1

Theswitch用于单个给定的变量/表达式,然后将 case 用于它的值,但是因为您没有测试单个变量/表达式,所以这不适用,您应该改用if-elseif-else结构。

于 2010-06-27T14:07:32.187 回答
1

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

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

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; 

}

于 2010-06-27T14:35:22.037 回答
1

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

if (userSelection == 1) {
    // add
} else if (userSelection == 2) {
   // subtract
} else if (userSelection == 3) {
   // multiply
} else if (userSelection == 2) {
   // divide
}
于 2010-06-28T21:26:32.343 回答
0

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

if(booleanExpression)
{

}
else if(booleanExpression2)
{

}
于 2010-06-27T14:07:24.740 回答