public class Testcup
{
    String d;
    int w;
    static String Test1(String d)
    {
           if (String d = "塑料的")
          {
                 String r = "Yes";
                 return r;
           }
           else if (String d = "玻璃的")
          {     
                 String r = "No";
                 return r;
          }
           else
          {
                 String r = "Er";
                 return r;
          }
     }
    static String Test2(int w)
    {
          if (w <10)
         {
             Srting o = "Yes";
             return o;
         }
         else 
         {
              String o = "Heavy";
              return o;
         }
    }
       public static void main(String[] args)
      {
               Testcup e = new Testcup();
               e.d = "塑料的";
               e.w = 9;
               if (Test1(e.d)==Test2(e.w))
              {
                    System.out.println("This one is required");
              }
               else 
               {
                    System.out.println("I'm sorry , this one is not required") ;
               }
      }
}    

解决方案 »

  1.   

    else if (String d = "玻璃的")  改为 else if (d .equals( "玻璃的"))
      

  2.   

    先问一下楼主,楼主是在写Java吗?
      

  3.   


    public class Testcup {
    String d;
    int w; static String Test1(String d) {
    if (d == "塑料的") {// 邏輯判斷用“==”符,(String d ="塑料的")是一個賦值語句,if語句只接受true或false或者邏輯表達式
    String r = "Yes";
    return r;
    } else if (d == "玻璃的") {// 同上
    String r = "No";
    return r;
    } else {
    String r = "Er";
    return r;
    }
    } static String Test2(int w) {
    if (w < 10) {
    String o = "Yes";// String錯寫為Srting了
    return o;
    } else {
    String o = "Heavy";
    return o;
    }
    } public static void main(String[] args) {
    Testcup e = new Testcup();
    e.d = "塑料的";
    e.w = 9;
    if (Test1(e.d) == Test2(e.w)) {
    System.out.println("This one is required");
    } else {
    System.out.println("I'm sorry , this one is not required");
    }
    }
    }
      

  4.   

    if里面不能定义变量,另外
    if (w <10)
      {
      Srting o = "Yes";
      return o;
      }
    这段里面String写错了
      

  5.   

    首先条件判断的()里只能填关系判断符:< > ==(在java中2个=是相等的意思,而1个=是赋值的意思,把右边的值赋给左边的),前面的关系判断符只能对基本数据类型进行判断,而对于String这种特殊类型的也就是引用数据类型应该用"equals"例如:
    if (d.equals("玻璃"))
    这是判断d的值是否是玻璃
      

  6.   

    public class Arrag {
    String d;
    int w; static String Test1(String d) { if (d.equals("塑料的")) {
    String r = "Yes";
    return r;
    } else if (d.equals("玻璃的")) {
    String r = "No";
    return r;
    } else {
    String r = "Er";
    return r;
    }
    } static String Test2(int w) {
    if (w < 10) {
    String o = "Yes";
    return o;
    } else {
    String o = "Heavy";
    return o;
    }
    } public static void main(String[] args) {
    Arrag e = new Arrag();
    e.d = "塑料的";
    e.w = 9;
    if (Test1(e.d).equals(Test2(e.w))) {
    System.out.println("This one is required");
    } else {
    System.out.println("I'm sorry , this one is not required");
    }
    }
    }
      

  7.   

    小问题,简单的看了一下,你的逻辑运算符,写错了!“==”才对,你写成了“=";
          另外,引用类型的话,都会有个equals()方法,因为他们的根类都是Object这个类,用他来判断是否相等;