error bei java?

3 Antworten

Da ist jetzt die Frage, ob die wirklich abfragen willst, wie lang die Zahl ist, die übergeben wird oder ob du nur wissen willst, ob die Zahl zwischen 40 und 50 ist.

Wenn du wissen willst, ob die Zahl zwischen 40 und 50 ist, geht es so:

if (groesse >= 40 && groesse <= 50) {

Wenn du tatsächlich die Länge der Zahl prüfen willst (also z.B. 33623645 = Länge 8), kannst du die Zahl entweder in einen String umwandeln und dort mit length() die Länge herausfinden:

int laenge = Integer.toString(groesse).length();
if (laenge >= 40 && laenge <= 50) {

oder du kannst mathematisch mit dem Logarithmus bestimmen, wie lang die Zahl ist:

int laenge = (int) Math.log10(groesse) + 1;
if (laenge >= 40 && laenge <= 50) {

Der größte Wert, der in einem int gespeichert werden kann ist allerdings 2147483647. Das heißt, die Länge kann nie größer als 10 sein. Für größere Zahlen kannst du long nehmen und für nahezu unendlich lange Zahlen kannst du BigInteger nehmen.

groesse ist vom Typ 'int' und ist ein primitiver Datentyp für ganze Zahlen.

Es gibt keine Methode length() für ihn. Das gibts nur bei Listen und Strings und heißt size()

Mach das .length() weg, dann gehts.

Tiliqei 
Fragesteller
 27.09.2022, 23:18

aso danke

0

Du versuchst auf int - einem primitiven Datentyp - eine Objekt-Methode aufzurufen. Ein int ist jedoch kein Objekt ...

Wenn du den Wert von groesse nutzen willst, dann kannst du groesse direkt nutzen ...

if (groesse >= 40 && groesse < 50) {
  ...
}
Woher ich das weiß:Studium / Ausbildung – Abgeschlossenes Studium der Informatik (B.Sc.)
Tiliqei 
Fragesteller
 27.09.2022, 23:20

ok danke sehr

0