类方法的Java调用;“不兼容类型”;内部调用方法
/**来自我的主要课程和方法*/类方法的Java调用;“不兼容类型”;内部调用方法,java,string,methods,boolean,Java,String,Methods,Boolean,/**来自我的主要课程和方法*/ String ans = null; System.out.println("Has your address changed?(y/n): " ); ans = input.next(); munozAccount.changeAddress(ans); /**来自由main方法调用的accounting类 消息说需要:找到布尔值:java.lang.String*/ public void changeAddress(String
String ans = null;
System.out.println("Has your address changed?(y/n): " );
ans = input.next();
munozAccount.changeAddress(ans);
/**来自由main方法调用的accounting类
消息说需要:找到布尔值:java.lang.String*/
public void changeAddress(String ans) {
if (ans = "y") {
cust.changeStreet();
cust.changeCity();
cust.changeState();
cust.changeZip();
} else {
System.out.print("understood");
}
}
您在此行中使用了赋值运算符
=
:
if (ans = "y") {
。。。结果类型是字符串
,但是if
语句需要布尔值
,因此会出现错误
使用比较字符串值,这将返回一个布尔值
:
if ("y".equals(ans)) {
“y”
首先要避免出现NullPointerException
,如果您说ans.equals(“y”)
并且ans
是null
您在这一行中使用了赋值运算符=
:
if (ans = "y") {
。。。结果类型是字符串
,但是if
语句需要布尔值
,因此会出现错误
使用比较字符串值,这将返回一个布尔值
:
if ("y".equals(ans)) {
“y”
首先要避免一个NullPointerException
,如果你说了ans.equals(“y”)
和ans
是null
将if(ans=“y”){/code>更改为if(“y.equals(ans)){
if(ans=“y”)
这是非常错误的。@user2430297:因为=
是赋值,而不是相等。=
是相等的,尽管对于字符串,您实际上希望使用equals
方法。您希望将某个值赋给变量ans=“y”。如果(ans.equals(“y”),您希望检查是否相等。需要布尔值,因为if语句正在检查条件是否为真。您使用了assignment@SLaks哦,不是很错误,对吗?对于从B派生的语言来说,新的语言是一个常见的错误。很多语言都很高兴地使用<代码> = <代码>,而不是B、C、C++、java、JavaScript、C、x、………ngeif(ans=“y”){
到if(“y”.equals(ans)){
if(ans=“y”)
这是非常错误的。@user2430297:因为=
是赋值,而不是相等。=
是相等的,尽管对于字符串,您实际上想使用equals
方法。您想给变量ans赋值吗=“y”。如果(ans.equals(“y”)),您要检查是否相等。需要布尔值,因为if语句正在检查条件是否为真。您使用了assignment@SLaks哦,不是很错误,对吗?对于从B派生的语言来说,新的语言是一个常见的错误。很多语言都很高兴地使用<代码> = <代码>,而不是B、C、C++、java、JavaScript、C**、D、……-Pro。非常值得一提的是,=
是相等运算符,尽管您在这里当然不会使用它。可能值得一提的是,=
是相等运算符,尽管您在这里当然不会使用它。