Hallo Zusammen,
ich habe ein Problem bei einer meiner ersten Programmieraufgaben in Java. Es soll eine Einkaufsliste erstellt werden:
Ich eine ArrayList soll folgendes eingegeben werden: (Herkunft Produkt) Hierbei wird bei Herkunft zwischen Supermarkt (a) und Drogeriemarkt (b) unterschieden. Das ganze sieht dann so aus: woEinkaufen.add(“b Spuelmittel”)
Nun ist es in der Aufgabe allerdings auch gewuenscht, dass es Produkte gibt, die man sowohl im Supermarkt als auch im Drogeriemarkt kaufen kann ©. Gibt es keine Produkte, die nur im Drogeriemarkt zu finden sind, werden alle Produkte mit Herkunft c im Supermarkt gekauft und andersherum. Gibt es beides sollen die Produkte die in beiden zu finden sind ebenfalls nur im Supermarkt erstanden werden.
Das einfache Sortieren klappt auch hervorragend (das ist allerdings auch nicht die Kunst, nehme ich an): wenn ich also nur folgende Form habe: woEinkaufen.add(“bl”), geht alles hervorragend, kommt allerdings das Produkt dazu **woEinkaufen.add(“b Spuelmittel”) **klappt das ganze nicht mehr.
Nach einer laengeren Google-Suche denke ich, dass ich mit charAt(0) arbeiten muss, allerdings weiss ich nicht recht wie ich es einbauen soll.
Hier ist mein Code:
public class Artikel {
public static void main(String[] args) throws IOException {
System.out.println(woEinkaufen());
}
public static ArrayList woEinkaufen (ArrayList) {
ArrayList woEinkaufen = new ArrayList ();
woEinkaufen.add("b Spuelmittel");
woEinkaufen.add("a Mineralwasser");
woEinkaufen.add("b Waschmittel");
woEinkaufen.add("a Paprika");
woEinkaufen.add("a Eiscreme");
int supermarkt = java.util.Collections.frequency(woEinkaufen, "a");
int drogiere = java.util.Collections.frequency(woEinkaufen, "b");
if (supermarkt == 0){
for (int i = 0; i < woEinkaufen.size(); i++)
{
String name = (String)woEinkaufen.get(i);
if (name.equals("c")){
woEinkaufen.set(i, "b");
}
}
}
else if (drogiere == 0) {
for (int i = 0; i < woEinkaufen.size(); i++)
{
String name = (String)woEinkaufen.get(i);
if (name.equals("c")){
woEinkaufen.set(i, "a");
}
}
}
else {
for (int i = 0; i < woEinkaufen.size(); i++)
{
String name = (String)woEinkaufen.get(i);
if (name.equals("c")){
woEinkaufen.set(i, "a");
}
}
}
java.util.Collections.sort(woEinkaufen);
return woEinkaufen;
}
}
Ich wuerde mich sehr ueber Hilfe freuen.