自己弄的一个幼稚作品,不懂哪里错误百出... 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") ; } } }
------解决方案-------------------- else if (String d = "玻璃的") 改为 else if (d .equals( "玻璃的"))
------解决方案--------------------
Java code
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");
}
}
}
------解决方案--------------------
------解决方案-------------------- 首先条件判断的()里只能填关系判断符:< > ==(在java中2个=是相等的意思,而1个=是赋值的意思,把右边的值赋给左边的),前面的关系判断符只能对基本数据类型进行判断,而对于String这种特殊类型的也就是引用数据类型应该用"equals"例如: if (d.equals("玻璃")) 这是判断d的值是否是玻璃