Kunden mit Attributen hinterlegen

cyharlotte

Mitglied
Hey,

ich suche nach einer Möglichkeit Kunden mit verschiedenen Attributen zu hinterlegen. Ich habe angefangen mit einem mehrdimensionalen Array, allerdings muss ich neue Kunden hinzufügen können und daher ist dies keine Möglichkeit.
Die Kunden haben int Attribute. Ein Teil der Attribute soll sich durch das Einfügen eines neuen Kunden verändern. Am Wichtigsten ist, dass die Reihenfolge der Kunden gespeichert wird und durch das Einfügen eines Kunden diese Reihenfolge angepasst wird.

z.B.
Kunde (Position, Attr.1, Attr.2)
Kunde 1 (1, 24, 28)
Kunde 2 (2, 24, 29)


Wenn jetzt ein weiterer Kunde eingefügt wird
Kunde 1 (1, 24, 28)
Kunde neu (2, 23, 27)
Kunde 2 (3, 24, 30)


Gibt es eine Möglichkeit so etwas umzusetzen?
Vielen Dank! 🙂
 
Bist du dir sicher das das Sinn ergibt?

Kunden will man normalerweise nicht nach einem festen Attribut sortiert haben. Manchmal sucht man nach Alphabet, manchmal nach Umsatzstärke, dann wieder nach offenen Posten etc. Sortieren fest zu speichern macht i.d.R. nicht viel Sinn sondern man sollte bei der Ausgabe sortieren so wie man es braucht.

Auf jeden Fall solltest du mit Listen arbeiten und nicht mit Arrays. Was für eine Liste du nimmst ist Geschmacksache. Ich würde Dir eine ArrayList ans Herz legen. Die ist einfach zu verstehen und schnell implementiert.

Gruß

Claus
 
Da hast du eigentlich Recht! 🙂
Ich bin aber dabei eine Route zu berechnen, um alle Kunden abzufahren. Und wenn der neue Kunde in der Nähe zu Kunde 1 wohnt soll er direkt danach besucht werden. Das würde ich gerne mit dieser Reihenfolge speichern.
 
Erstell doch eine Klasse Kunde mit den zwei Attributen.

Zum Beispiel:
Java:
public class Kunde {

    private String name;
    private double umsatz;

    public Kunde(String name) {
        this.name = name;
        umsatz = 0;
    }

    public Kunde(String name, double umsatz) {
        this.name = name;
        this.umsatz = umsatz;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getUmsatz() {
        return umsatz;
    }

    public void setUmsatz(double umsatz) {
        this.umsatz = umsatz;
    }
}

Die Kunden kannst du dann in einer Liste speichern.
 
Zuletzt bearbeitet:
Ich würde das auf jeden Fall als Klasse implementieren.
Wie willst du alle Kunden mal speichern oder wieder laden?
Die Klasse "Kunde" wäre auch schnell erweitert, wenn ein weiteres Attribut hinzukommt.
Die Kunden legst du dann alle in eine Liste (auch ich würde dir hier eine ArrayList empfehlen),
dann hast du für alle Aktionen alle Kunden in der Hand.
 
Da hast du eigentlich Recht! 🙂
Ich bin aber dabei eine Route zu berechnen, um alle Kunden abzufahren. Und wenn der neue Kunde in der Nähe zu Kunde 1 wohnt soll er direkt danach besucht werden. Das würde ich gerne mit dieser Reihenfolge speichern.

Da solltest du dir aber bewusst sein, dass sich die optimale Route komplett verändern kann, auch wenn nur ein einziger neuer Kunde hinzugefügt wird oder wegfällt. Das ist sogar ein NP-Problem, siehe dazu z.B. hier: https://de.wikipedia.org/wiki/Problem_des_Handlungsreisenden
 

Zurück
Oben