vergleich von spinnern

  • 7 Antworten
  • Neuester Beitrag
Diskutiere vergleich von spinnern im Android App Entwicklung im Bereich Betriebssysteme & Apps.
A

Astarte

Neues Mitglied
Hi, ich wollte mal nachfragen, ob ich:

den wert von Spinner1 (z.b. 0.50)
und den wert von Spinner2 (z.b. 10)
vergleichen kann .
sollte Spinner1 0.50 stehen haben und Spinner 2 10 stehen haben, er mir den wert Y=1.81 in einem Textfeld ausgibt.

z.b. 0.50 +10 wert 1.81
z.b. 0.60 +10 wert 2.17
z.b. 0.55 + 12 wert 2.44

ich hoffe ich hab mich verständlich ausgedrückt

ich weis, dass ich die werte von den spinnern auslesen kann. aber wie ich die Rechnung mache ist mir nicht klar, da es sehr viele variablen gibt
Mfg
 
Vacutainer

Vacutainer

Erfahrenes Mitglied
Du kannst bei nem spinner "getSelectedItem()" aufrufen, um die momentane Auswahl zu bekommen.
Wenn du aber selber nicht weißt, wie du bspw. von den Werten 0.50 und 10 auf deine 1.81 kommst wüsste ich nicht, wie irgendjemand hier das wissen soll ;)
Wenn dann musst du schon näher erläutern, was es damit auf sich hat.

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
A

Astarte

Neues Mitglied
um mich zu verdeutlichen:

es geht um eine Öl-Brenner-Düse

Diese Düse hat eine Größe von z. b. 0.50 und bringt bei einem Öl-Druck von
10 bar 1,81kg öl pro stunde durch.

Je nach Größe oder druck ändert sich der Durchfluss / stunde.
der Durchfluss wird vom Hersteller fix angegeben.

d.h. wenn ich jetzt spinner1 mit 0.50 einstelle, und spinner2 mit 10bar einstelle, soll er mir den wert 1.81 im Textfeld ausgeben..

der ausgegebene wert ist keine Berechnung sondern eine Fixe Zahl.
d.h. wiederum, wenn ich 9 Düsengrößen habe und eine Liste von 6bar-20bar, ergeben sich 135 durchfluss-angaben.

hoffe ihr versteht das jetzt:rolleyes2:
 
A

amfa

Experte
Und was genau fehlt dir jetzt um das zu machen?
 
A

Astarte

Neues Mitglied
im eigentlichen sinn... alles ;( ich hab leider keine Idee wie ich das machen soll
 
S

steerben

Fortgeschrittenes Mitglied
Naja, wenn das ganze nicht berechnet wird, dann ist es ja folgendermaßen:

Zu zwei Werten X und Y gehört immer ein festes "Ergebnis" Z.
Das heißt du musst dir eine Struktur bauen, die alle drei zusammengehörenden Werte speichert. Davon gibt es dann eine Collection, die alle diese Strukturen speichert.

Wenn du jetzt X und Y aus dem Spinner ausliest musst du das dazu passende Objekt aus der Collection finden und erhältst somit den zugehörigen Z Wert.


Das ist aber ein wenig umständlich, da man sich dann wohl noch ein paar Equals usw. Methoden schreiben muss, deshalb würd ich das dann so machen und ein wenig "bescheißen":

Mach ein Dictionary. Der Key ist der konkatenierte String aus X.toString() und Y.toString. Die Value Z ist dann der zum X und Y Wert zugehörige Wert Z.

Du machst aus deinem X und Y also den eindeutigen Schlüssel für dein Dictionary und erhältst somit den zugehörigen Wert Z.

Natürlich muss das Dictionary auch irgendwann mal initialisiert worden sein, d.h. du musst die ganzen Werte hinzufügen. Weiß nicht, ob du das händisch machen willst oder dir das alles aus ner TextDatei einlesen willst.
Wie auch immer, dann halt auch X und Y als String konkatenieren und als Key verwenden und mit Z als Value zum Dictionary per Add hinzufügen.


Beispiel:
PHP:
Map<string, int> dict = new HashMap<string, int>();

// Dictionary füllen: Beispiel:
// int i = 0.50;
// int j = 6;
// string key = x + "" + y;
// int value = 1.81;
// dict.put(key, value);

string x = spinner1.getSelectedItem().toString();
string y = spinner2.getSelectedItem().toString();

int y = dict.get(x + "" + y);
 
Zuletzt bearbeitet:
A

Astarte

Neues Mitglied
danke dir steerben das ist schon mal ein guter Ansatz. werde ich gleich mal testen.
aber: sollte in deinem Beispiel: int i = 0.50;
int nicht durch double ersetzt werden? ist ja eine gleitkommazahl oder?

mfg
 
S

steerben

Fortgeschrittenes Mitglied
jep ;)