日期:2014-05-20  浏览次数:20529 次

帮忙看一个小程序
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呢?

------解决方案--------------------
B=="+" 改成 B.equals("+")

其他一样的改一下
------解决方案--------------------
if(B == "+"){
D = A + C;
}
if(B == "-"){
D = A - C;
}
if(B == "*"){
D = A * C;
}
if(B == "/"){
D = A / C;
}
这些都没执行, if(B == "/"){
} String 类型的不用==号,用equals();
------解决方案--------------------
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);
}
}

------解决方案--------------------
== 改成 equals 就好了