Emsal Skrevet 5. juli 2013 Del Skrevet 5. juli 2013 (endret) Lurte på om jeg kunne få en forklaring til kommentarene i programmet Jeg vil kunne skrive høyere tall enn 0 til 9. Også vil jeg bare at Wrong MADAFAKKA kommer opp hver gang noen skriver feil og ikke uendelig. package trying.out.something; import java.util.Scanner; import java.util.regex.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String ans = ""; System.out.println("Write your name:"); sc.nextLine(); boolean exit = false; System.out.println("Write your age:"); String text = sc.nextLine(); do { if (text.matches("[0-9]")) exit = true; // Går bare ann å skrive fra 0 til 9 else System.out.println("Wrong MADAFAKKA"); // Går i det uendelige } while (!exit); if (text.matches("[0-9]")) System.out.println("Flott"); // } } Endret 5. juli 2013 av Emsal Lenke til kommentar
jonny Skrevet 5. juli 2013 Del Skrevet 5. juli 2013 Du må flytte "text = sc.nextLine();" inn i løkka for å unngå at utskriften skrives ut kontinuerlig etter første gang brukeren trykker ENTER. Ellers ville jeg ikke brukt "text.matches()" her, bruk heller Integer.parseInt(), slik: int alder = -1; while (alder == -1) { try { alder = Integer.parseInt(sc.nextLine()); // her kan du legge inn sjekk av alder, skrive feilmelding // hvis < (min alder) eller > (maks alder) eller lignende } catch (NumberFormatException e) { System.out.println("Wrong MADAFAKKA"); } } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå