gpt4 book ai didi

java - Hashmap方法求和

转载 作者:行者123 更新时间:2023-12-01 17:50:17 25 4
gpt4 key购买 nike

所以我有以下任务:

给出以下类:

    public class Konto {
private final String inhaber;
private double guthaben;

public Konto(String inhaber) {
this.inhaber = inhaber;
}
public String getInhaber() {
return inhaber;
}
public double getGuthaben() {
return guthaben;
}
public void einzahlen(double betrag) {
guthaben += betrag;
}
public void auszahlen(double betrag) {
guthaben -= betrag;
}

}

使用这些类,实现另一个名为 Bank 的类,该类具有以下属性:

  • 名为accounts的属性是所有账户的目录帐号和相关帐户(java.util.HashMap) 并且应该在类的默认构造函数中初始化。

  • 编写 addKonto 方法来添加 Account 类型的新帐户,编写 getKonto 方法来通过号码查询帐户,以及编写名为 removeKonto 的方法来删除具有特定号码的帐户。

    <
  • 实现 getGesamtguthaben 方法,该方法返回所有银行帐户的 Balance(guthaben) 总和。

  • 编写一个 containsKonto 方法,检查银行中是否存在具有给定编号的帐户并返回相应的 boolean 值。

这是我的代码:

package Bank;

import java.util.HashMap;
import java.util.Map;

public class Bank {
private Map<String, Konto> konten;

public Bank() {
konten = new HashMap<String, Konto>();
}

public Konto addKonto(Konto konto) {

return konten.put(konto.getInhaber(), konto);

}

public String getKonto(String kontonr) {
if(konten.containsKey(kontonr)) {
return kontonr;
}
return null;
}



public Konto removeKonto(String kontonr) {
return konten.remove(kontonr);
}


public double getGesamtguthaben() {
for(double guthaben : konten) {

}

}
public boolean containsKonto(String kontonr) {
if(konten.containsKey(kontonr)) {
return true;
}else {
return false;
}

}

}

所以我的问题是如何用自己的方法汇总所有银行账户的余额?其他方法是否正确?感谢所有帮助

最佳答案

使用Map.entrySet迭代条目。

double sum = 0;
for (Map.Entry<String, Konto> entrySet : konten.entrySet()) {
sum += entrySet.getValue().getGuthaben();
}
return sum;

或者使用流和 Collectors.summarizingDouble

double sum = konten.entrySet()
.stream()
.collect(Collectors.summarizingDouble(entry -> entry.getValue().getGuthaben()))
.getSum();

关于java - Hashmap方法求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50954908/

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