Gå til innhold

Anbefalte innlegg

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 av Emsal
Lenke til kommentar
Videoannonse
Annonse

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...