【发布时间】:2013-05-24 00:29:02
【问题描述】:
/** 来自我的主类和方法 */
String ans = null;
System.out.println("Has your address changed?(y/n): " );
ans = input.next();
munozAccount.changeAddress(ans);
/**来自main方法调用的会计类 消息说需要:找到布尔值: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 ("y".equals(ans)) {。 -
if (ans = "y")大错特错。 -
@user2430297:因为
=是赋值,而不是相等。==是相等的,尽管对于字符串,您实际上想使用equals方法。 -
你想给变量 ans="y" 赋值。你想检查是否相等 if(ans.equals("y"))。需要一个布尔值,因为 if 语句正在检查条件是真还是假。你使用了一个作业
-
@SLaks:哦,不是非常错,对吗?对于刚接触从 B 语法派生的语言的人来说,这是一个很常见的错误。很多语言都乐于使用
=,而不是 B、C、C++、Java、JavaScript、C#、D ...... :-)跨度>
标签: java string methods boolean