# Prüfen ob Variable vorhanden / initalisiert ist



## Makurs R (15. Jun 2007)

Servus,

ich möchte mir einen kleines Tool zum berechnen von Elektrobauteilen programmieren. Das Programm soll
so aussehen, das ich ein paar Werte der Schaltung, z.B. Frequenz, Widerstände usw. eingebe und das Programm versucht dann die fehlenden Werte zu berechnen. 

Es müsste also geprüft werden, ob alle Werte, die für eine bestimmte Formel nötig sind, vorhanden sind...

Wie kann ich sowas programmieren?

Ein Beispiel

Formel : R = U / I
Jetzt müsste geprüft werden, ob die Variablen U und I vorhanden bzw. Initalisiert wurden.
Wie kann ich genau das machen?

Datentypen wären wohl double oder long, die Werte sollen über Textfelder eingelesen werden.

Bin dankbar für Anregungen

gruß Markus


----------



## SlaterB (15. Jun 2007)

du musst prüfen, ob im Textfeld was drinsteht, 
wenn leere Eingabe oder 0 auch erlaubt ist, dann vielleicht anfangs mit 'Bitte Eingabe' belegen

im anderen Programmteil bietet sich ein Objekt wie Double an, um auch auf null prüfen zu können,

wenn es primitive Datentypen sein sollen entweder einen Standardwert für 'nicht-intialisiert' vereinbaren (-1, Integer.MAXVALUE, ..),
was aber immer unsauber ist,

oder einfach in der Berechnung jeden übergebenen Wert als solches akzeptieren 
und der Aufrufer muss sich um die Initialisierung kümmern 
(z.B. die GUI mit den Textfeldern, die es ja einfacher hat)


----------



## Markus R (15. Jun 2007)

Danke für die schnelle Antwort, ich kann gerade leider nicht ausprobieren.

Kann ich ein Double-Variable einfach mit 

if(k != null) abfragen?


----------



## SlaterB (15. Jun 2007)

so ist das bei allen Objekten,
Double ist ein Objekt (wenns das nicht gäbe wäre das auch in 3 Min. selber geschrieben)
double ist ein primitiver Datentyp

in eine eigene MyDouble-Klasse könntest du auch noch ein boolean intitalized einfügen, 
falls du null-Objekte nicht so magst


----------



## Markus R (15. Jun 2007)

Danke, für die Antworten, logisch das dass geht ...

Werde es später so machen...


----------

