# java type wrong?



## rj85 (27. Okt 2008)

ICH WEISS IHR MACHT KEINE HAUSAUFGABEN SOLLT IHR AUCH NICHT, daher habe ich es ja mal versucht aber finde den fehler nicht... brauche eure hilfe : /

aufgabenstellung:
a) Modellieren und programmieren Sie zum Abspeichern eines Fließkommawertes eine Klasse SimpleValue mit den Attributen name, wert, untereGrenze, obereGrenze, summe und anzahl sowie den zugehörigen Standardzugriffsoperationen. Beim Anlegen eines SimpleValue-Objektes sind Name und Wert zu übergeben. Beim Setzen des Wertes ist stets sicherzustellen, dass er nicht unterhalb von unterGrenze und nicht oberhalb von obereGrenze liegt, andernfalls ist er auf den entsprechenden Grenzwert zu setzen. Das Attribut summe soll stets die Summe aller Werte beinhalten. Definieren Sie auch eine Methode, die den aktuellen Durchschnittswert aller SimpleValue-Objekte zurückgibt.

b)Modellieren und programmieren Sie eine Hauptklasse, die drei Fließkommawerte beim Nutzer abfragt und als SimpleValue-Objekte anlegt. Anschließend sollen die Werte sowie ihre Summe und ihr Mittelwert mit Hilfe der Klasse SimpleValue auf der Konsole ausgegeben werden.



also ich finde den fehler einfach nicht... es wird in der fehlerlog immer gesagt, dass ich vom type float nicht auf string wechseln kann.. aber mir fehlt dazu die kenntnis... hoffe jemand kann sich das mal angucken... ; /





```
public class SimpleValue {

private String name;
private float wert;
private float untereGrenze;
private float obereGrenze;
private float summe;
private int anzahl;

private SimpleValueGUI SimpleValueGUI1;
private SimpleValueGUI SimpleValueGUI;

public void setname(String namepara) {
this.name = namepara;
}

public void setwert(float wertpara) {
this.wert = wertpara;
}

public void setuntereGrenze(float untereGrenzepara) {
this.untereGrenze = untereGrenzepara;
}

public void setobereGrenze(float obereGrenzepara) {
this.obereGrenze = obereGrenzepara;
}

public void setsumme(float summepara) {
this.summe = summepara;
}

public void getname() {
return name;
}

public void getwert() {
return wert;
}

public void getuntereGrnze() {
return untereGrenze;
}

public void getobereGrenze() {
return obereGrenze;
}

public void getsumme() {
return summe;
}

public void durchschnitt(float durchschnittwert) {

}

}
```


nächste ******************'''''''''''''*******************************************************
*******************'''''''''''''*******************************************************
GUI Klasse


```
import java.io.*;

public class SimpleValueGUI {

public SimpleValueGUI ()

//Deklaration des Datenstromes
public static void main(String[] args) throws IOException
{ BufferedReader inp = new BufferedReader(new InputStreamReader(System.in));

SimpleValue sv1 = new SimpleValue ();
//Name eingeben
System.out.println("Geben sie einen Namen ein! ");
sv1.setname(inp.readLine());
//obere Grenze angeben
System.out.println("Geben sie die obere Grenze an! ");
sv1.setobereGrenze(inp.readLine());
//untere Grenze angeben
System.out.println("Geben sie die untere Grenze an! ");
sv1.setuntereGrenze(inp.readLine());
//den aktuellen Wert angeben
System.out.println("Geben sie den aktuellen Wert an! ");
sv1.setwert(inp.readLine());
//Prüfen ob der Wert die obere Grenze überschreitet
if (sv1.getwert() >= sv1.getobereGrenze())
sv1.setwert = sv1.getobereGrenze;
System.out.println("Der Wert ist ausserhalb der oberen Grenze ("+sv1.getobereGrenze")der Wert wurde auf "+ sv1.getwert"");
if (sv1.getwert() =< sv1.getuntereGrenze())
sv1.setwert = sv1.getuntereGrenze;
System.out.println("Der Wert ist unterhalb der unteren Grenze ("+sv1.getuntereGrenze")der Wert wurde auf "+ sv1.getwert"");
else system.out.println("Der Wert liegt innerhalb der oberen Grenze "+ sv1.getobereGrenze" und unteren Grenze"+ sv1.getuntereGrenze" "+ sv1.getwert"");

}
}
```

_[Edit by Beni: Codetags eingefügt]_


----------



## rj85 (27. Okt 2008)

das ist die fehler log...

The method setobereGrenze(float) in the type SimpleValue is not applicable for the arguments (String)
	The method setuntereGrenze(float) in the type SimpleValue is not applicable for the arguments (String)
	The method setwert(float) in the type SimpleValue is not applicable for the arguments (String)
	The operator >= is undefined for the argument type(s) void, void
	sv1.setwert cannot be resolved or is not a field
	sv1.getobereGrenze cannot be resolved or is not a field
	sv1.getobereGrenze cannot be resolved or is not a field
	Syntax error on token "")der Wert wurde auf "", delete this token
	sv1.getwert cannot be resolved or is not a field
	Syntax error on token """", delete this token
	The left-hand side of an assignment must be a variable
	Syntax error on token "<", delete this token
	sv1.setwert cannot be resolved or is not a field
	sv1.getuntereGrenze cannot be resolved or is not a field
	sv1.getuntereGrenze cannot be resolved or is not a field
	Syntax error on token "")der Wert wurde auf "", delete this token
	sv1.getwert cannot be resolved or is not a field
	Syntax error on token """", delete this token
	Syntax error on token "else", delete this token
	system cannot be resolved
	sv1.getobereGrenze cannot be resolved or is not a field
	Syntax error on token "" und unteren Grenze"", delete this token
	sv1.getuntereGrenze cannot be resolved or is not a field
	Syntax error on token "" "", delete this token
	sv1.getwert cannot be resolved or is not a field
	Syntax error on token """", delete this token


----------



## Landei (28. Okt 2008)

The method setobereGrenze(float) in the type SimpleValue is not applicable for the arguments (String) 
The method setuntereGrenze(float) in the type SimpleValue is not applicable for the arguments (String) 
The method setwert(float) in the type SimpleValue is not applicable for the arguments (String) 

--> Von der Konsole liest du Strings ein, aber deine Methoden erwarten floats. Du kannst Float.parseFloat("1.23") für die konvertierung verwenden

Für den Rest zeig mal deinen SimpleValue Code... Sieht so aus als ob sv1.getwert() usw. keinen Wert zuurückliefern


----------

