Witam,
Zacząłem wczoraj naukę języka Java. Mam kupione dwie książki oraz przerabiam poradniki video od użytkownika Samuraj Programowania.
W jednym z jego video tutoriali zadał on pracę domową która jak zwykle postanowiłem rozwiązać.
Teść zadania:
5. Pobierz od użytkownika dowolny tekst, następnie pobierz liczbę. Następnie spytaj, czy wydrukować dany tekst. W zależności od odpowiedzi, 1 oznacza tak, 2 oznacza nie, wykonaj zadanie , tzn. wydrukuj tyle razy, jaką liczbę podał użytkownik. Jeśli użytkownik wpisze coś innego niż 1 lub 2, wypisz „nie zrozumiałem, wybierz odpowiedź jeszcze raz”.
Mój kod:
//5. Pobierz od użytkownika dowolny tekst, następnie pobierz liczbę.
// Następnie spytaj, czy wydrukować dany tekst.
// W zależności od odpowiedzi, 1 oznacza tak, 2 oznacza nie, wykonaj zadanie
// , tzn. wydrukuj tyle razy, jaką liczbę podał użytkownik.
// Jeśli użytkownik wpisze coś innego niż 1 lub 2, wypisz „nie zrozumiałem, wybierz odpowiedź jeszcze raz”.
import java.util.Scanner;
public class Zadanie5 {
public static void main(String[] args) {
String text;
int number;
int choice;
System.out.println("Welcome in my secound app!");
Scanner scanner = new Scanner(System.in);
System.out.println("Enter your text here:");
text = scanner.next();
System.out.println("Enter numer:");
number = scanner.nextInt();
for(int i =0; i<9999; i++) {
System.out.println("Do you want to generate your text?");
System.out.println("1- Yes");
System.out.println("2 - No");
choice = scanner.nextInt();
if (choice == 1) {
for(int j =0; j<number; j++)
System.out.println(text);
} else if (choice == 2) {
System.out.println("Bye Bye!");
break;
} else
System.out.println("The answerd is wrong, enter again: ");
}
}
}
Mój error:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at Zadanie5.main(Zadanie5.java:20)
Jeżeli wpiszę jedno słowo to program działa. Czemu po wpisaniu zdania program się wywala.
Pytanie brzmi:
Co jest nie tak? Czy jest to związane ze Stringiem, nie może on przechowywać więcej niż słowo?