Hallo,
ich bin neu hier im Forum, daher ganz kurz zu mir. Ich habe vor etwa 5 Jahren angefangen mich überhaupt mit Java zu beschäftigen. Ich hatte für ein Jahr einen Nebenjob an der Uni und habe etwas Java programmiert (auf niedrigem Niveau). Da ich die Sprache recht intuitiv finde, habe ich vor einigen Monaten wieder angefangen mich mit der Java Programmierung zu beschäftigen, mit dem Ziel eigene Tools in Richtung Verfahrenstechnik/Maschinenbau zu entwickeln. Dazu habe ich das Buch "Java ist auch eine Insel" erstmal quergelesen und dann losgelegt!
Also habe ich etwas programmier Erfahrung, finde aber oft die richtigen Wege nicht.
Google und auch eure Suche brachte leider keinen Erfolg. Vielleicht habt ihr auch einfach einen guten Link zu dem Thema.
Ich möchte mittels zwei vorgegebenen Werten einen dritten Wert aus einer Tabelle ablesen. In Excel habe ich das leicht hinbekommen (mit "lookup")! :lol: Die Tabelle hat folgendes Schema (ich zeige es mal mit Trennzeichen Semikolon):
Diameter [Inch]; Schedule; inner Diameter [mm]
1/2“; 10; 17,12
1/2“; 40; 15,8
1/2“; 80; 13,87
1“; 10; 27,86
1“; 40; 26,64
1“; 80; 24,31
2“; 10; 54,79
2“; 40; 52,5
2“; 80; 49,25
20“; 5; 498
20“; 10; 497
Problem Teil 1: Also Diameter und Schedule gibt der Benutzer (per Combobox) vor und ich möchte den inner Diamter als Rückgabewert. Welchen Datentyp nehme ich am Besten? Da in der Tabelle Strings (Diameter), Intergers (Schedule) und Double (inner Diameter) Typen stehen, scheiden Arrays nach meinem Wissen aus. Ich hätte dort die Suche relativ einfach mit Schleifen lösen können (suche erst nach vorgegebenem Diameter in Spalte 1 und suche dann nach vorgegebenem Schedule in Spalte 2, gebe dann Wert aus Spalte 3 aus). Mit "Maps" geht es auch nicht, da es immer nur ein Schlüssel-Wert-Paar gibt. Ich denke eher, dass ich einen eigenen Typ brauche, der in eine Collection passt. Wenn ich für diesen Typ noch die Sortierbarkeit implementiere, dann könnte man leicht den gesuchten Wert bestimmen. (Typ Pipe oder so) Was ist eure Meinung oder habt ihr einen Hinweise? Bestimmt ist es ganz einfach, da eine solche Problemstellung häufiger Vorkommen muss (Wertetabellen).
Problem Teil 2: Wie bekomme ich die Tabelle einfach in mein Programm? Jedes mal aus einer Datei lesen oder "hart" im Programm einkodieren? Gegen die zweite Methode spricht eigentlich nichts, da sich die Tabelle nicht ändert.Dann stellt sich aber die Frage wie ich eine übersichtliche Zuweisung im Code mache ohne jede Zahl einzelnen meinem Objekt zuzuweisen.
Problem Teil 3: Ich möchte schon wärend der Eingabe der Werte dem Benutzer unter die Arme greifen. Wenn also der Diameter schon ausgewählt ist, dann sind nicht mehr alle Schedules erlaubt. Z.B. gibt es bei 20" kein Schedule 20! Um diese "intelligente" Eingabe umzusetzen sehe ich nur die Möglichkeit "intelligente" ComboBoxen zu machen. Daran finde ich allerdings unschön, dass diese Einschränkung ja schon eine Tabelleneigenschaft ist und ich diese eigentlich nicht mit der grafischen Oberfläche vermischen möchte. Wie seht ihr das?
Ich hoffe ihr habt ein paar Hinweise!
Viele Grüße
Sven
ich bin neu hier im Forum, daher ganz kurz zu mir. Ich habe vor etwa 5 Jahren angefangen mich überhaupt mit Java zu beschäftigen. Ich hatte für ein Jahr einen Nebenjob an der Uni und habe etwas Java programmiert (auf niedrigem Niveau). Da ich die Sprache recht intuitiv finde, habe ich vor einigen Monaten wieder angefangen mich mit der Java Programmierung zu beschäftigen, mit dem Ziel eigene Tools in Richtung Verfahrenstechnik/Maschinenbau zu entwickeln. Dazu habe ich das Buch "Java ist auch eine Insel" erstmal quergelesen und dann losgelegt!
Google und auch eure Suche brachte leider keinen Erfolg. Vielleicht habt ihr auch einfach einen guten Link zu dem Thema.
Ich möchte mittels zwei vorgegebenen Werten einen dritten Wert aus einer Tabelle ablesen. In Excel habe ich das leicht hinbekommen (mit "lookup")! :lol: Die Tabelle hat folgendes Schema (ich zeige es mal mit Trennzeichen Semikolon):
Diameter [Inch]; Schedule; inner Diameter [mm]
1/2“; 10; 17,12
1/2“; 40; 15,8
1/2“; 80; 13,87
1“; 10; 27,86
1“; 40; 26,64
1“; 80; 24,31
2“; 10; 54,79
2“; 40; 52,5
2“; 80; 49,25
20“; 5; 498
20“; 10; 497
Problem Teil 1: Also Diameter und Schedule gibt der Benutzer (per Combobox) vor und ich möchte den inner Diamter als Rückgabewert. Welchen Datentyp nehme ich am Besten? Da in der Tabelle Strings (Diameter), Intergers (Schedule) und Double (inner Diameter) Typen stehen, scheiden Arrays nach meinem Wissen aus. Ich hätte dort die Suche relativ einfach mit Schleifen lösen können (suche erst nach vorgegebenem Diameter in Spalte 1 und suche dann nach vorgegebenem Schedule in Spalte 2, gebe dann Wert aus Spalte 3 aus). Mit "Maps" geht es auch nicht, da es immer nur ein Schlüssel-Wert-Paar gibt. Ich denke eher, dass ich einen eigenen Typ brauche, der in eine Collection passt. Wenn ich für diesen Typ noch die Sortierbarkeit implementiere, dann könnte man leicht den gesuchten Wert bestimmen. (Typ Pipe oder so) Was ist eure Meinung oder habt ihr einen Hinweise? Bestimmt ist es ganz einfach, da eine solche Problemstellung häufiger Vorkommen muss (Wertetabellen).
Problem Teil 2: Wie bekomme ich die Tabelle einfach in mein Programm? Jedes mal aus einer Datei lesen oder "hart" im Programm einkodieren? Gegen die zweite Methode spricht eigentlich nichts, da sich die Tabelle nicht ändert.Dann stellt sich aber die Frage wie ich eine übersichtliche Zuweisung im Code mache ohne jede Zahl einzelnen meinem Objekt zuzuweisen.
Problem Teil 3: Ich möchte schon wärend der Eingabe der Werte dem Benutzer unter die Arme greifen. Wenn also der Diameter schon ausgewählt ist, dann sind nicht mehr alle Schedules erlaubt. Z.B. gibt es bei 20" kein Schedule 20! Um diese "intelligente" Eingabe umzusetzen sehe ich nur die Möglichkeit "intelligente" ComboBoxen zu machen. Daran finde ich allerdings unschön, dass diese Einschränkung ja schon eine Tabelleneigenschaft ist und ich diese eigentlich nicht mit der grafischen Oberfläche vermischen möchte. Wie seht ihr das?
Ich hoffe ihr habt ein paar Hinweise!
Viele Grüße
Sven