【问题标题】:Why am I not getting any output? [duplicate]为什么我没有得到任何输出? [复制]
【发布时间】:2016-10-26 23:09:25
【问题描述】:

我没有从这个计算器中得到任何输出。谁能告诉我为什么?

import java.util.*;  

public class JavaMain {

public static void main(String[] args) {
    float num1, num2;
    String op;
    float d, m, a, s;

    Scanner input = new Scanner(System.in);

    System.out.println("Calculator");

    System.out.print("Please enter an operation: ");
    op = input.next();


    System.out.print("First Number: ");
    num1 = input.nextFloat();

    System.out.print("Second Number: ");
    num2 = input.nextFloat();




        if (op == "+"){a = (num1 + num2);
            System.out.println(num1 + "+" + num2 + "=" + a);
        }


        if  (op == "-"){s = (num1 - num2 );
            System.out.println(num1 + "-" + num2 + "=" + s);
        }


        if (op == "/"){d = (num1/num2);
            System.out.println(num1 + "/" +num2 + "=" + d);
        }


        if (op == "*"){m = (num1*num2);
            System.out.println(num1 + "*" + num2 + "="+ m);
        }


    }

}// why am i not getting any outputs

【问题讨论】:

  • 不要使用 ==。而不是 == 使用 equal() 来进行字符串comarision。

标签: java calculator polish


【解决方案1】:

您没有正确比较字符串。使用String.equals() 方法进行字符串比较。 == 检查它们是否是同一个对象,而不是它们在逻辑上是否相等。 试试下面的代码:

    if (op.equals("+")){
     a = (num1 + num2);
     System.out.println(num1 + "+" + num2 + "=" + a);
  }

【讨论】:

    【解决方案2】:

    在处理字符串时,我们需要使用字符串方法。那就是我们需要使用 equals() 方法来测试相等性。此外,您的 if 语句应该是 if else if 语句这样......

    if (op.equals("+")) {
            a = (num1 + num2);
            System.out.println(num1 + "+" + num2 + "=" + a);
        }else if(op.equals("-")){
            s = (num1 - num2 );
            System.out.println(num1 + "-" + num2 + "=" + s);
        }else if(op.equals("/")){
            d = (num1/num2);
            System.out.println(num1 + "/" +num2 + "=" + d);
        }else{//if none of the above then the operation must be the remaining
            m = (num1*num2);
            System.out.println(num1 + "*" + num2 + "="+ m);
        }
    

    您也可以使用开关盒。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-23
      相关资源
      最近更新 更多