Java 计算Arraylist中的图书数

Java 计算Arraylist中的图书数,java,arraylist,count,hashmap,hashset,Java,Arraylist,Count,Hashmap,Hashset,我是Java编程新手,在学校学习Java编程 我们被指派创建一个小型图书馆,包括以下课程:图书馆、图书、作者和副本。具有预定义代码的给定类库,并在类副本中的arraylist中将这些书添加到类库中 UML域是附加的,因此您知道类的流程 一切正常,生成的输出正确 类库中只有一个方法不起作用,int方法必须根据类书(字符串)计算副本数: 我必须在课堂上翻阅Arraylist副本,寻找一本特定的书,并返回副本的数量。 对不起,代码中有荷兰语。 我使用for循环尝试了多个步骤 现在我发现了一个类似的帖子

我是Java编程新手,在学校学习Java编程

我们被指派创建一个小型图书馆,包括以下课程:图书馆、图书、作者和副本。具有预定义代码的给定类库,并在类副本中的arraylist中将这些书添加到类库中

UML域是附加的,因此您知道类的流程 一切正常,生成的输出正确

类库中只有一个方法不起作用,int方法必须根据类书(字符串)计算副本数: 我必须在课堂上翻阅Arraylist副本,寻找一本特定的书,并返回副本的数量。 对不起,代码中有荷兰语。 我使用for循环尝试了多个步骤 现在我发现了一个类似的帖子,它使用hashset,我尝试了下面的代码,但是返回的结果是0。(共有3份副本)

package-domen;
导入java.util.ArrayList;
导入java.util.HashSet;
导入java.util.Set;
进口多梅因.波克;
导入domin.examplaar;
/**
*
*克拉斯·迪韦兰特伍德利克是范·博肯的支持者
*
*/
公共类图书周{
私有ArrayListboekenlijst=新ArrayList();
/**
*
*印出《纳姆·范德图书馆》一书。
*
*/
公共图书馆周(字符串){
System.out.println(字符串);
}
/**
*方法包括所有的选择
*利斯特。
*
*@param b1
*@param示例
*/
公共无效voegToe(Boek b1,int示例){
for(int i=0;itoonCollectie(){
ArrayListtitels=新的ArrayList();
对于(boek示例:boekenlijst){
System.out.println(“examplaar-->”+boek.gettiel()+“+boek.getAuteur()+”在taal中“+boek.getTaal()”);
}
返回滴度;
}
/**
*他是一位博肯·凡·德·沃登的读者
*恩格斯在他的书中写下了他的名字。
*
*@param字符串
*@返回
*/
公共ArrayListtoonCollectie(字符串){
对于(boek示例:boekenlijst){
if(boek.getTaal()==字符串)
System.out.println(“examplaar-->”+boek.gettiel()+“+boek.getAuteur()+”在taal中“+boek.getTaal()”);
}
返回boekenlijst;
}
/**
*他是一位杰出的作家,他是一位杰出的作家
*这本书的书信是我在书中遇到的。
*
*@返回
*/
公共布尔printAuteurs(){
for(示例导演:boekenlijst)
if(auteur.getPrijs(true))
System.out.println(auteur.getAuteur());
返回false;
}
/**
*这是一种典型的方法
*奥普特·弗拉根。
*
*@param b1
*@返回
*/
公共int Telexemplan(Boek b1){
SetSet=newhashset();
整数计数=0;
for(示例元素:boekenlijst){
字符串名称=element.getTitel();
设置。添加(名称);
}
for(字符串a:集合){
for(示例元素:boekenlijst){
字符串名称=element.getTitel();
如果(a.等于(名称)){
计数++;
}
}
计数=0;
}
返回计数;
}
}
非常感谢您的帮助。我已经添加了完整的代码

删除该行

count = 0;
从函数末尾开始,应该可以帮助它做一些比当前更有用的事情。

删除该行

count = 0;
从函数末尾开始,应该可以帮助它做一些比当前更有用的事情。

删除该行

count = 0;
从函数末尾开始,应该可以帮助它做一些比当前更有用的事情。

删除该行

count = 0;
从函数末尾开始,应该可以帮助它做一些比当前更有用的事情。

您的
telExemplaren()
方法完全忽略
Boek b1
参数

也许这就是你想做的

public int telExemplaren(Boek b1) {
  int count = 0;
  for (Exemplaar element: boekenlijst) {
    if (b1.getTitel().equals(element.getTitel())) {
      count++;
    }
  }
  return count;
}
您的
telExemplaren()
方法完全忽略
Boek b1
参数

也许这就是你想做的

public int telExemplaren(Boek b1) {
  int count = 0;
  for (Exemplaar element: boekenlijst) {
    if (b1.getTitel().equals(element.getTitel())) {
      count++;
    }
  }
  return count;
}
您的
telExemplaren()
方法完全忽略
Boek b1
参数

也许这就是你想做的

public int telExemplaren(Boek b1) {
  int count = 0;
  for (Exemplaar element: boekenlijst) {
    if (b1.getTitel().equals(element.getTitel())) {
      count++;
    }
  }
  return count;
}
您的
telExemplaren()
方法完全忽略
Boek b1
参数

也许这就是你想做的

public int telExemplaren(Boek b1) {
  int count = 0;
  for (Exemplaar element: boekenlijst) {
    if (b1.getTitel().equals(element.getTitel())) {
      count++;
    }
  }
  return count;
}

荷兰语的名字有点难说,但如果你说的是
telexemplan()
,我相信你根本没有在方法(
Boek b1
)中使用参数。因此,无论您要传递的是哪本书,它都会执行相同的操作。这有点令人困惑,因为您正在使用
for(examplaar元素:boekenlijst)
填充集合,然后遍历这些相同的值并再次对照自身检查。在外部for循环中,您要做的最后一件事是将count设置回0。当它在循环退出之前被设置为0时,它应该如何返回除0以外的任何内容呢。我看错方向了。这就是为什么我开始使用Hashset,代码本身可以工作,但不是作为getmethode。将计数设置为0;外部循环在通过Arraylist时重置int,因此它返回正确的数字,而不是增加返回的数字。荷兰名称有点难分辨,但如果您谈论的是
telexemplare()<