Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich habe eine Integer Zahl und möchte überprüfen ob "irgendeine" Ziffer der Zahl größer als ein bestimmtes "x" ist.
Beispiel:
Die Zahl: 461
x: 5
Dann soll die Methode/Abfrage ausschlagen und sagen: "Fehler, da eine Ziffer größer als 5 ist"
Ich weiß noch keine wirklich gute Möglichkeit... eine wäre das ich mir die Zahl in nen String parse, diese dann per toCharArray() in ein Array schreibe und dieses dann einzeln durchgehe und für jeden Wert überprüfe...
Find ich recht umständlich und wollte fragen ob ihr nicht eine simple Methode kennt, oder ob die API von JAVA nicht irgendwas hergibt.
Eine einfache if-abfrage wäre hier meinesachtens eigentlich die einfachste lösung
solange dir beide zahlen als integer vorliegen sollte das so hinhauen
Code:
! PSEUDOCODE !
if input <= x{
do something
}
else
{
do something other
}
Warum eine Zahl in einen String umwandeln, wenn man mit Zahlen eh besser rechnen kann.
Java:
int zahl = 465;
int x = 5;
int count=0;
while(zahl>0) {
int rest = zahl%10;
zahl /=10;
if (rest>x) {
System.out.println(rest + " ist groesser als " + x);
count++;
}
else
System.out.println(rest + " ist kleiner gleich " + x);
}
System.out.println("Es wurden "+ count + " Ziffer(n) gefunden, die groesser als " + x + " sind.");
Eine einfache if-abfrage wäre hier meinesachtens eigentlich die einfachste lösung
solange dir beide zahlen als integer vorliegen sollte das so hinhauen
Code:
! PSEUDOCODE !
if input <= x{
do something
}
else
{
do something other
}
Warum eine Zahl in einen String umwandeln, wenn man mit Zahlen eh besser rechnen kann.
Java:
int zahl = 465;
int x = 5;
int count=0;
while(zahl>0) {
int rest = zahl%10;
zahl /=10;
if (rest>x) {
System.out.println(rest + " ist groesser als " + x);
count++;
}
else
System.out.println(rest + " ist kleiner gleich " + x);
}
System.out.println("Es wurden "+ count + " Ziffer(n) gefunden, die groesser als " + x + " sind.");
Es geht darum, dass ich Zahlensystemumwandlung machen möchte...
Also vom binär zu oktal, von dezimal ins hexadezimal etc..
Nun ist es halt so, dass im binär nur die Ziffern 0,1 erlaubt sind, bei oktal nur 0-7 etc..
Wenn der User jetzt also eine 8 für Oktal eingibt, möchte ich einfach eine Exception werfen.. Deshalb muss ich an die einzelnen Ziffern rankommen und kann nicht einfach die gesamte Zahl nehmen..
Entweder nimmste die Variante von michael (wenn du mit ints arbeiten möchtest), oder du machst es mit charAt:
Java:
int number = 12345;
String s = String.valueOf(number);
for (int i = 0; i < s.length(); i++) {
int digit = Integer.parseInt(String.valueOf(s.charAt(i)));
System.out.println("Zahl an Stelle " + i + ": " + digit);
}