package one;import java.util.Scanner;public class Program{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数字A");
double A = scanner.nextDouble();
System.out.println("请选择运算符(+、-、*、/):");
String B = scanner.next();
System.out.println("请输入数字B");
double C = scanner.nextDouble();
double D = 0;
if(B == "+"){
D = A + C;
}
if(B == "-"){
D = A - C;
}
if(B == "*"){
D = A * C;
}
if(B == "/"){
D = A / C;
}
System.out.println("结果是:" + D);
}
}
大家帮忙看一下为什么结果总是0.0呢?

解决方案 »

  1.   

    B=="+"  改成 B.equals("+")其他一样的改一下
      

  2.   

    if(B == "+"){
    D = A + C;
    }
    if(B == "-"){
    D = A - C;
    }
    if(B == "*"){
    D = A * C;
    }
    if(B == "/"){
    D = A / C;
    }
    这些都没执行, if(B == "/"){
    }   String 类型的不用==号,用equals();
      

  3.   

    B=="+"   改成B.equals("+")B=="-"   改成B.equals("-")B=="*"   改成B.equals("*")B=="/"   改成B.equals("/")
      

  4.   

    B=="+"   改成B.equals("+")B=="-"   改成B.equals("-")B=="*"   改成B.equals("*")B=="/"   改成B.equals("/")
      

  5.   

    public class Program{
    public static void main(String[] args){
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入数字A");
    double A = scanner.nextDouble();
    System.out.println("请选择运算符(+、-、*、/):");
    String B = scanner.next();
    System.out.println("请输入数字B");
    double C = scanner.nextDouble();
    double D = 0;
    if(B.equals("+")){
    D = A + C;
    }
    if(B .equals("-")){
    D = A - C;
    }
    if("*".equals(B)){
    D = A * C;
    }
    if("/".equals(B)){
    D = A / C;
    }
    System.out.println("结果是:" + D);
    }
    }
      

  6.   

    == 改成 equals 就好了
      

  7.   

    我错了 - -#
    我 刚遇到一个初始化为0然后怎么输出都是0的问题。所以先入为主了。你这是string的神奇之处。。
    你if里判断不要用==来进行判断。
    如果你用"+".equals(B)的话。就对了。