Hur skriver jag för att kontrollera om det är en siffra en användare matar in i ett fält? Variabeln som ska få värdet som användaren matar in är float. Inte för att jag kan Java men det skall väl påminna en hel del om C? Jo, isDigit finns, men hur skriver jag den? Du var snabb så jag lade detta till mitt eget tidigare inlägg. Jag får inte det att fungera, men skulle inte detta fungera?Kontrollera om det är en siffra?
Sv: Kontrollera om det är en siffra?
Kolla om du har funktionen isDigit() att leka med.
for (int i = 0; i < str.length; i++)
if (! str.charAt(i).isDigit())
{
new ErrorDialog("Måste vara siffror").show();
break;
}
return true;
}Sv:Kontrollera om det är en siffra?
Jag tror att man bara kan använda den till att kolla om strängar innehåller siffror.Sv: Kontrollera om det är en siffra?
Prova nått i stil med:
String str = "10";
for (int i = 0; i < str.length; i++)
{
if (! str.charAt(i).isDigit())
{
new ErrorDialog("Måste vara siffror").show();
break;
}
return true;
}Sv:Kontrollera om det är en siffra?
<code>
while(true){
try {
ret = scanner.nextFloat();
return ret;
}
catch(java.util.InputMismatchException e) {
System.out.print("Fel, skriv in ett tal.");
}
}
</code>
Det borde det väl göra eftersom try-catch ligger inne i while-loopen? Om man skriver in något annat än ett tal så kastas ett undantag att kastas och vi fångar det i catch och skriver ut. Nu låser sig programmet om jag skriver in en bokstav.