我打电话给'setPrice()'一个班级的改变方法'假日'持有' double'作为数据类型。但是,当我添加假日.setPrice()'时,它表示假日类中的方法setPrice不能应用于给定的类型:double"。我很困惑为什么会这样。
public void checkOut(Member member, Holiday holiday){
if(member.getBalance() >= holiday.getPrice()){
System.out.println("Transaction complete");
System.out.println("You have been automatically logged off");
member.setLoginStatus(false);
if(checkHitDiscount() == true){
holiday.setPrice() = discount - holiday.getPrice() ;
System.out.println(" Good news! You're eligible for a discount!");
}else{
System.out.println("No discount available, try again next time");
}
} else {
System.out.println("You don't have suffiencient funds");
}
}
答案 0 :(得分:0)
您正在尝试使用以下行:
holiday.setPrice() = discount - holiday.getPrice();
这应该是
holiday.setPrice(discount - holiday.getPrice());
代替。函数的输入在括号内。
编辑:discount
和holiday.getPrice()
也可能会根据其名称进行撤销。
EDIT2:您现有代码尝试执行的操作是将discount - holiday.getPrice()
的值分配给假设holiday.setPrice()
没有输入的双精度值。这是不允许的,因为这是一个值,而不是一个变量(即:一个名称,指的是存储值的内存中的一个点)。这有点像尝试执行5 = 3 + 4
;。