“非法开始表达”使用if&&语句里面的布尔值

时间:2014-01-20 02:40:02

标签: java if-statement boolean

我不知道是不是因为我格式化访问方法的方式,或者你是不允许使用if&&在这种情况下的声明,但我似乎无法弄清楚为什么我在尝试编译我的代码时不断收到这两个错误。请帮忙。

BankAccount.java:13:错误:非法启动表达式         如果(id2.equals(c.getId()))&安培;&安培; pin2.equals(c.getPin())v = true;                                  ^ BankAccount.java:13:错误:';'预期         如果(id2.equals(c.getId()))&安培;&安培; pin2.equals(c.getPin())v = true;                                                                    ^

public class BankAccount
{
private double balance;
private Customer c;
private boolean v;

public BankAccount(){
    balance=100;
    c=new Customer();
}

public boolean ValidAccount(String id2, String pin2){
    if(id2.equals(c.getId()))&& pin2.equals(c.getPin())v = true;
}

public BankAccount(Customer c1, double initial){
    balance=initial;
    c=c1;
}
public double checkBalance(){
    return balance;
}

public void deposit(double money){
    balance+=money;
}

public void withdraw(double money){
    balance-=money;
}

public Customer getCustomer(){
    return c;
}
public String toString(){
    return "" + c.getFirstName() + " "+ c.getFirstName() + balance + " " + 
c.getId() + " " + c.getPin(); 

}
 }

2 个答案:

答案 0 :(得分:1)

您忘记了 () ,其中包含整个表达式。

    ---------------- Don't forget these -----------------
    v                                                   v
 if ( (id2.equals(c.getId()))&& pin2.equals(c.getPin()) ) 
 {
     v = true;
 }

修改:

由于您声明方法ValidAccount返回布尔值,因此必须返回一些内容。也许你想要这个:

public boolean ValidAccount(String id2, String pin2){
    if ( (id2.equals(c.getId())) && pin2.equals(c.getPin()) )
        return true;
    return false;
}

注意:我建议您遵循Java命名约定,在Google上阅读。你应该调用这样的方法:someMethod(...)和像SomeClass这样的类。

答案 1 :(得分:0)

public boolean ValidAccount(String id2, String pin2){
    if(id2.equals(c.getId()))&& pin2.equals(c.getPin())v = true;
    return v; //<-- gotta return v
}

你没有在这里返回一个布尔值