import java.util.*;
 class FatherLis{
 double num1;

 double num2;
 
 String str;
 
 public void getResult(double num1,double num2,String str){
 this.num1=num1;
 this.num2=num2;
 this.str=str;
if(str=="+")
        System.out.println("两树之和="+(num1+num2));
if(str=="-")
   
        System.out.println("两树之差="+(num1-num2));
if(str=="*")
     
        System.out.println("两树之积="+(num1*num2));
if(str=="/")   
       if(num2!=0)
        System.out.println("两树之商="+(num1/num2));
       else
     System.out.println("您的输入错误,被除数不能为0");   
 }

}public class Demo2 {
public static void main(String args[]){

Scanner scan=new Scanner(System.in);

double num1;
double num2;
String str;

System.out.println("请输入第一个数");
    num1=scan.nextDouble();

System.out.println("请输入第二个数");
    num2=scan.nextDouble();
    
System.out.println("请输入操作符");
    str=scan.next();

FatherLis fath=new FatherLis();

fath.getResult(num1,num2,str);



}
}
在eclipse中运行以后情况如下:
请输入第一个数
10
请输入第二个数
2
请输入操作符
*
等我输入回车的时候 控制台显示如下: 
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
此方法必须返回 double 类型的结果各位大鸟 谁能帮我看下  
小弟刚学Java 谢谢!

解决方案 »

  1.   

    ==比较的是内存地址,应该用equals()
    import java.util.*;
    class FatherLis{
    double num1;

    double num2;
      
    String str;
      
    public void getResult(double num1,double num2,String str){
    this.num1=num1;
    this.num2=num2;
    this.str=str;
    if(str.equals("+"))
    //if(str=="+")
    System.out.println("两树之和="+(num1+num2));
    if(str.equals("-"))
    //if(str=="-")
      
    System.out.println("两树之差="+(num1-num2));
    if(str.equals("*"))
    //if(str=="*")
      
    System.out.println("两树之积="+(num1*num2));
    if(str.equals("/"))
    //if(str=="/")   
    if(num2!=0)
    System.out.println("两树之商="+(num1/num2));
    else
    System.out.println("您的输入错误,被除数不能为0");   
    }}public class Test{
    public static void main(String args[]){

    Scanner scan=new Scanner(System.in);

    double num1;
    double num2;
    String str;

    System.out.println("请输入第一个数");
    num1=scan.nextDouble();

    System.out.println("请输入第二个数");
    num2=scan.nextDouble();
      
    System.out.println("请输入操作符");
    str=scan.next();

    FatherLis fath=new FatherLis();

    fath.getResult(num1,num2,str);

    }
    }
      

  2.   

    if (str == "+")

    System.out.println("两树之和=" + (num1 + num2));

    if (str == "-")

    System.out.println("两树之差=" + (num1 - num2));

    if (str == "*")

    System.out.println("两树之积=" + (num1 * num2));

    if (str == "/")字符串比较请用equals 如:"*".equals(str)