0
Name and age
PLEASE help me ill soon rip my hair of. I made this work then i broke it and now i cant pick up what I did (gaaaaah). HOW do i make this work????????? —————————— String name; System.out.println(“Enter name:”); name = scanner.nextLine(); —————————— ISSUE: FALSE: System.out.println(“not a valid name, try again: ”) Loop until valid input^ Valid option (only string nothing else) it shall print: TRUE: System.out.println(“welcome ” + name); result of valid input^ then continue: —————————— Int age; System.out.println(“Enter age:”); age = scanner.nextInt(); TRUE: System.out.println(“Your age is ” + age); —————————— ONLY VALID AGE INPUT: 0-120 (int)otherwise loop until valid input.
2 Respuestas
+ 4
Did you import the Scanner?
import java.util.Scanner;
Scanner scan = new Scanner(System.in);
System.out.println("Enter name:");
String name = scan.nextLine();
System.out.println("Enter age:");
int age = scan.nextInt();
System.out.println("Your name is " + name);
System.out.println("Your age is " + age);
Here on sololearn you need to enter all the input at the beginning:
name [enter]
age
Then it should work.
0
Hejsan såg att du också är svensk :) om jag förstog dig rätt så är de något i denna stil du e ute efter
System.out.println("Enter name:");
String name = scanner.nextLine();
// Går in i en loop där de bara tillåts stora och små bokstäver från
// a till z. Skriver användaren något annat kommer den fortsätta loopa.
while( !name.matches("[a-z A-Z]+") ) {
System.out.println("Not a valid name, try again: ");
name = scanner.nextLine();
}
System.out.println("Welcome " + name);
while(true) {
try {
System.out.println("Enter age:");
int age = scanner.nextInt();
// Vi kollar att användaren är yngre eller prick 120
// Är han de så skriver vi ut åldern och bryter oss ut från loopen
if(age <= 120) {
System.out.println("Your age is: " + age);
break;
}
else {
System.out.println("Not a valid age, try again: ");
}
} catch(InputMismatchException e) {
System.out.println("Something went wrong.. Try again:");
scanner.next();
}
}
Ovanför använder vi en try-catch block om användaren skulle skriva in bokstäver eller allt för stort nummer. Du behöver inte ha try-catch block men skulle användaren skriva in något som typ allt för stort nummer så kommer programmet att krascha, så de är bättre att fånga felet och skriva ut va som hände för att sedan kunna hoppa tillbaka till loopens början.
Och glöm inte att importera Scanner klassen som ligger i util paketet:
import java.util.Scanner;
Bara fråga om du behöver hjälp.