gpt4 book ai didi

java - 使用对象调用方法时遇到问题

转载 作者:行者123 更新时间:2023-12-01 19:43:34 24 4
gpt4 key购买 nike

所以,我需要这样做作为我的部分作业:

在 Customer 类中创建一个名为 hasMoreMoneyThan(Customer c) 的方法如果调用该方法的客户的钱多于实际金额,则返回 truecustomer c,否则应返回 false

我希望为“客户调用该方法”这一行指明正确的方向

这让我感到非常困惑并且没有意义,我的 Customer 是一个类。

这是必要的代码:

public class Customer
{
private String name;
private int age;
private float money;

public String getName()
{
return name;
}

public int getAge()
{
return age;
}


public Customer(String n, int a, float m)
{
name = n;
age = a;
money = m;

}

我开始编写方法:

public boolean hasMoreMoneyThan(Customer c)
{

}

但我不确定如何用我的 Customer 对象调用它(我认为问题是在问这个。

其他相关代码:

public class StoreTestProgram {

public static void main(String args[]) {
Customer[] result;
Store walmart;

walmart = new Store("Walmart off Innes");
walmart.addCustomer(new Customer("Amie", 14, 100));

}
}

最佳答案

当对对象调用方法时,对象变量位于当前范围内。在这种情况下,“调用该方法的客户”是调用该方法的对象(对象是该类的实例)。

因此,如果在客户 a 上调用 boolean hasMoreMoneyThan(Customer c),那么您应该将其视为询问客户 a 有更多的钱客户c?.

您可以使用 this 关键字来引用当前对象(以帮助读者区分 Customer c)。

因此,在您的 hasMoreMoneyThan 方法中,您可以将 this.moneyc.money 进行比较。

要调用此方法,您需要当前客户和您想要比较的客户的引用。你可以这样做:

Customer currentCustomer = new Customer(...
Customer customerToCompareWith = new Customer(...

if (currentCustomer.hasMoreMoneyThan(customerToCompareWith)) {
// do something
}

编辑让我们尝试一个不同的示例。假设您想要一种方法来了解某个客户是否比另一个客户年龄大。该代码可能如下所示:

public boolean isOlderThan(Customer c) {
return this.age > c.age;
}

并调用该方法:

if (currentCustomer.isOlderThan(customerToCompareWith)) {
// the current customer is older
} else {
// the current customer is not older
}

关于java - 使用对象调用方法时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54450226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com