Lassen Sie uns sagen, ich habe eine Klasse namens items
mit diesem Code:Wie kann die Anzahl bestimmter Elemente in einem Array angezeigt werden?
import java.util.ArrayList;
public class items {
private ArrayList<Item> itemlistweapons = new ArrayList<Item>();
private ArrayList<Item> itemlistapparel = new ArrayList<Item>();
private ArrayList<Item> itemlistaid = new ArrayList<Item>();
private ArrayList<Item> itemlistmisc = new ArrayList<Item>();
public void additem(String name, String type){
if("Weapon".equals(type)){
itemlistweapons.add(new Item(name, type));
}
else if ("Apparel".equals(type)){
itemlistapparel.add(new Item(name, type));
}
else if ("Aid".equals(type)){
itemlistaid.add(new Item(name, type));
}
else if ("Misc.".equals(type)){
itemlistmisc.add(new Item(name, type));
}
}
public void dropitem(String name){
for(int i = 0; i < itemlistweapons.size(); i++){
if(itemlistweapons.get(i).getname().equals(name)){
itemlistweapons.remove(i);
}
}
for(int i = 0; i < itemlistapparel.size(); i++){
if(itemlistapparel.get(i).getname().equals(name)){
itemlistapparel.remove(i);
}
}
for(int i = 0; i < itemlistaid.size(); i++){
if(itemlistaid.get(i).getname().equals(name)){
itemlistaid.remove(i);
}
}
for(int i = 0; i < itemlistmisc.size(); i++){
if(itemlistmisc.get(i).getname().equals(name)){
itemlistmisc.remove(i);
}
}
}
@Override
public String toString(){
String items = "";
if (itemlistweapons.size() > 0){
items += "Weapons\n";
for (Item itemlist1 : itemlistweapons) {
items += itemlist1 + "\n";
}
}
if (itemlistapparel.size() > 0){
items += "Apparel\n";
for (Item itemlist2 : itemlistapparel) {
items += itemlist2 + "\n";
}
}
if (itemlistaid.size() > 0){
items += "Aid\n";
for (Item itemlist3 : itemlistaid) {
items += itemlist3 + "\n";
}
}
if (itemlistmisc.size() > 0){
items += "Misc.\n";
for (Item itemlist4 : itemlistmisc) {
items += itemlist4 + "\n";
}
}
return items;
}
}
Ich möchte in dieser Liste die Anzahl der spezifischen Elemente in der Lage sein anzuzeigen.
Sagen wir zum Beispiel, für mein textbasiertes RPG-Spiel fügt der Spieler 25 Goldstücke zu seinem Inventar hinzu. Ich möchte nicht, dass das Wort "Gold" in seinem Inventar 25 Mal angezeigt wird, sondern stattdessen "Gold (25)". Wie würde ich das machen?
Und das Problem ist? – shmosel
Ich sehe zwei Möglichkeiten, wie Sie das tun können. Ein Weg wäre, eine Methode einzuschließen, die zählt, wie oft ein bestimmter Artikel in jeder Liste vorkommt, und dann jeden Artikelnamen einmal neben seiner Menge anzuzeigen. Ein anderer Weg wäre, Ihre Item-Klasse so zu modifizieren, dass sie sowohl Menge als auch Name und Typ enthält. –