Java loop?
Hej
Går nu en kurs i Java där jag fått i uppgift att göra ett program där användaren ska kunna ange ett tal och därefter sin ålder. Efter det ska jag (beroende på inom vilket intervall talet ligger) beräkna en procentsats.
Har gjort en dialogruta där användaren kan ange sitt tal och sen gjort så att talet räknas om till int. Därefter kommer en ja/nej-fråga om åldern.
String s = JOptionPane.showInputDialog("Ange ett tal");
int tal = Integer.parseInt(s);
int s1 = JOptionPane.showConfirmDialog(null, "Är du över 35 år?", "Fråga", JOptionPane.YES_NO_OPTION);
Men eftersom att användaren även kan ange bokstäver och olika symboler istället för ett tal så hade jag velat ha att det kommer upp en ruta med tex "ogiltligt tal, försök igen" eller liknande.
Har funderat på om jag kan göra en loop men vet inte exakt hur jag ska göra?
Försökte med
for ( int i=1; i<=s.length(); i++)
{ if (s.charAt(i) >= '0' && s.charAt(i) <= '9')
int tal = Integer.parseInt(s);
else
JOptionPane.showMessageDialog(null, "Inget tal, försök igen");
}
då jag ville att loopen skulle genomsöka talet och se om det var enbart siffror. Om det var ett tal så vill jag att programmet ska göra om string till int ( som jag skrev högre upp) så att jag kan göra matematiska uträkningar. Men jag får det inte att fungera. Om det inte är ett tal så ska en ruta visas med text.
Efter detta vill jag att loopen ska avslutas och åldersfrågan kommer och därefter beräkningarna med procentsatser. Där tänkte jag göra if-satser beroende på vilket intervall talet hamnar inom.
Någon som vet om det går att göra en loop som testar att det är ett giltigt tal? För min variant fungerar inte