# Lieferzeit codieren



## cluster (12. Jun 2007)

Hallöchen,

muss eine methode codieren, die die Lieferzeit für eine Bestellung ermitteln soll. Bedingung: Lieferung kann nur erfolgen wenn alle Teile der Bestellung komplett im Lager vorhanden sind. 

ist ein Auszug aus einem Design-klassendiagramm. 

ansatz:


```
Vector v_anzahlTeile = new Vector();
int gesamtAnzahl;
public int getLieferzeit()
{
     boolean is_komplett = false;
     for (int i  = 0; i < v_anzahlTeile.size(); i++)
      {
           .....leeeeeere.......



*ich hänge total, ist bestimmt sehr einfach aber ich denk (oder vielmehr kann nicht mehr denken) hab schon 10 ansätze versucht, aber dann ....
```


----------



## SlaterB (12. Jun 2007)

was willst du hören?
wie genau das fachlich gemeint ist, kannst nur du wissen,

also hole dir z.B. Teil i aus dem Vector und prüfe dann 'wie auch immer'
ob das Ding im Lager vorhanden ist

was dein Lager ist und wie man das prüfen kann kann niemand erraten,
udn wenn das Teil schon im Vector ist, wozu muss es dann noch im Lager sein?
oder ist nur eine Teil-Art-Nummer im Vector?

Fragen über Fragen..


----------



## cluster (12. Jun 2007)

es geht um möbel, die aus einzelteilen und auch als gesamtes lieferbar sind. haben eine id. Auf Anfrage des Kunden soll die Lieferzeit ermittelt werden (ein Regal-System kann erst ausgeliefert werden, wenn alle Teile dafür vorhanden sind)

das ist alles an info was ich habe. 

ok, jetzt step by step.

ein regalsystem muss über eine id identifizierbar sein.

ich hole es aus dem vector und prüfe dann ob die oid_vector == oid_lager ist
wenn sie gleich ist, und der vector leer ist, dann setzte ich is_komplett auf true,

und gebe die lieferzeit aus.

ist das logisch dieser ansatz?

aber ich muss doch das was ich aus dem vector auslese irgendwo zwischenspeichern? kann das irgendeine int-variable sein?

also ab dieser stelle hänge ich.


----------



## SlaterB (12. Jun 2007)

> ich hole es aus dem vector und prüfe dann ob die oid_vector == oid_lager ist 

was ist denn  oid_lager?
was ist denn  oid_vector?

wenn es nur eine LagerId gibt macht das alles recht wenig Sinn,
gehts nicht um einzelne (also mehrere) Teile?
und gehts nicht auch um die Anzahl der Teile?

>kann das irgendeine int-variable sein?

ja, wie eine int-Variable überall auf der Welt reicht,
bis es andere Anforderungen gibt,

ob es damit geht oder nicht siehst du eher durchs programmieren,
als durch philosophische Fragen, di man ohne genauere Kenntnisse eh kaum beantworten kann


----------



## cluster (12. Jun 2007)

es geht um ein Regalsystem, das aus vielen Einzelteilen besteht, wovon dann die lieferzeit abhängt.

bei mir (wie bei den meisten auch) kommt die erleuchtung duch die kommunikation. deswegen sorry für die dummen fragen, aber wenn ich so hinterfrage dann fällt mir auch meist was ein. 

also: du hast recht @ was ist denn oid_lager? was ist denn oid_vector? wenn es nur eine LagerId gibt macht das alles recht wenig Sinn.

wie kann ich dann prüfen ob sagen wir mal ein regal mit all seinen teilen vorhanden ist?

das ist es was ich mit ansatz gemeint habe. ab einem bestimmten punkt reicht mein vorstellungsvermögen nicht mehr aus. ich hab viele ansätze aber die brechen alle ab. 

das alles kann ich gar nicht programmieren, der prof viel nur ein codefragment, weil es teil einer ganzen aufgabenkette ist. und ich hab noch 6 stunden übungsaufgaben lösen vor mir *ich armes schwein*


----------



## SlaterB (12. Jun 2007)

> wie kann ich dann prüfen ob sagen wir mal ein regal mit all seinen teilen vorhanden ist? 

das kann man eben nicht so direkt sagen, weil es zu simpel ist,
weil das irgendwo im Programm schon steht/ zu 99% von deinen Programm-Rahmenbedinungen und nur zu 1% vom Denken abhängt

z.B. besteht ein Regal aus den Teilen A und B
und dann gibts ein Lager das 'irgendwie' die Information enthält,
dass 3 Teile A und 5 Teile B vorhanden sind,

nun fragt man im Lager nach, erfährt, dass Teil A und B vorhanden ist und ist fertig,

das Problem bricht sich dann runter auf die Frage, wie man für ein Teil die Anzahl nachfragen kann,
wieder gilt: das kann kein Mensch wissen,
im einfachsten Fall ist das Lager eine Map<String, Integer> 
und man muss nur zum Namen eines Teils in die Map schauen,

wie jemals überhaupt Integer in diese Map kamen ist wieder eine andere Frage


----------



## cluster (12. Jun 2007)

ok, dann tu ich so als würden alle rahmenbedingungen vorhanden sein. prüfe ob es im lager vorhanden ist über die oid. wenn ja dann her damit, oder noch einfacher. wenn man das simpelste nimmt:
so tun als ob es nur ein regalsystem gibt. ist zwar unrealistisch aber die aufgabenstellung ist ja auch nicht besonders. 
dann fällt das mit der oid prüfung erstmal weg. 


```
Vector v_anzahlTeile = new Vector();
int gesamtAnzahl;
public int getLieferzeit()
{
     boolean is_komplett = false;
     int ss_ausgabeLieferzeit = 0;
     for (int i  = 0; i < v_anzahlTeile.size(); i++)
      { 
           ss_ausgabeLieferzeit = v_anzahlTeile.elementAt(i).getLieferzeit();
           is_komplett == true;
      }
     return ss_ausgabeLieferzeit;


was meinst du? ist es unter den gegebenen philosophischen Umständen logisch und technisch ok?
```


----------



## SlaterB (12. Jun 2007)

ich halte das für totalen Käse

is_komplett == true; 
ist nicht mal eine korrekte Anweisung
is_komplett = true; 
meinst du wohl, und das wird immer gemacht, egal was im Vector drin ist,
wo ist hier vom Lager die Rede?

> ss_ausgabeLieferzeit = v_anzahlTeile.elementAt(i).getLieferzeit(); 
warum sollte eines der Elemente im Vector die Lieferzeit bestimmen?

naja, alles Käse eben, wenn du mich schon fragst


----------



## cluster (13. Jun 2007)

da stimme ich dir zu, alles käse  :wink:


----------

