# Wertebereich auf 0 bis 1 einschränken



## TSH (27. Okt 2008)

Hallo,

ich würde gerne den Wertebereich, den meine Variable degree annehmen kann auf ein double (oder float) im Bereich 0 bis 1 einschränken. Geht so was?


----------



## Ravendark (27. Okt 2008)

Mit einer einfachen if-Abfrage zum Beispiel:

```
double degree;
// wird jetzt irgendwie eingelesen
if(degree < 0d || degree > 1d)
{
  System.out.println("Eingabe nicht im Wertebrereich.");
}
```

Etwas optimiert (benutzerfreundlich :wink: ):

```
double degree;
// wird eingelesen
while(degree < 0d || degree > 1d)
{
  System.out.println("Eingabe nicht im Wertebereich!")
  System.out.print("Eingabe wiederholen: ");
  // degree neu einlesen
}
```


----------



## TSH (28. Okt 2008)

Danke, aber ich dachte jetzt eher an den Zeitpunkt der Variablendefinition. Geht das?


----------



## The_S (28. Okt 2008)

Bau dir ne entsprechende Klasse außenrum ...


----------



## Ravendark (28. Okt 2008)

TSH hat gesagt.:
			
		

> Danke, aber ich dachte jetzt eher an den Zeitpunkt der Variablendefinition. Geht das?


Soweit ich weiß haben die primitive Datentypen einen festen Wertebereich den du selber nicht ändern kannst.


----------



## ARadauer (28. Okt 2008)

1 oder 0? mhn nimm doch boolean true oder false..

hobbit hat schon recht, bau dir eine klasse

was soll den passieren, wenn 3 zugewiesen wird?


----------



## .exe (28. Okt 2008)

ARadauer hat gesagt.:
			
		

> was soll den passieren, wenn 3 zugewiesen wird?



Der PC soll den User verhauen   

Warum den in einer klasse einfach bedingung in den IF bereich und alles ander (3 etc.) in den else bereich.

mfg

.exe


----------



## ARadauer (28. Okt 2008)

> Warum den in einer klasse



der NUMMER 1 Grund für objektorientierte Programmierung: WIEDERVERWENDUNG ;-)

überall wo du so ein Teil benutzt, müsstest du dann den Wertebereich überprüfen, so hast du eine Stellen, die klasse


----------



## ARadauer (28. Okt 2008)

```
public class BinValue {

   int value;
   
   BinValue(int value){
      setValue(value);
   }

   public int getValue() {
      return value;
   }

   public void setValue(int value) {
      this.value = value;
      if(this.value>1)
         this.value = 1;
   }  
   
}
```


----------



## Der Müde Joe (28. Okt 2008)

ARadauer hat gesagt.:
			
		

> ....



--> meine Variable degree ...  auf ein double (oder float) im Bereich 0 bis 1 

(wenns binär sein soll dan enum{ZERO, ONE})


----------



## ARadauer (28. Okt 2008)

ok, so genau hab ich nicht gelesen...


----------

