Błąd przy wpisaniu jakiejkolwiek litery

0

Witam. Jestem "laikiem" w programowaniu, więc postanowiłem poprosić was o pomoc. Co jest źle w tym kodzie?

 import java.util.*;

public class Bit {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
        Scanner klawiatura = new Scanner(System.in);
        System.out.println("Podaj litere pierwszą");
        int pierwszą = klawiatura.nextInt();
        
        Scanner klawiatura1 = new Scanner(System.in);
        System.out.println("Podaj litere drugą");
        int drugą = klawiatura1.nextInt();
        
        Scanner klawiatura2 = new Scanner(System.in);
        System.out.println("Podaj litere trzecią");
        int trzecią = klawiatura2.nextInt();
        
        Scanner klawiatura3 = new Scanner(System.in);
        System.out.println("Podaj litere czwartą");
        int czwartą = klawiatura3.nextInt();
        
        Scanner klawiatura4 = new Scanner(System.in);
        System.out.println("Podaj litere piątą");
        int piątą = klawiatura4.nextInt();
        
        Scanner klawiatura5 = new Scanner(System.in);
        System.out.println("Podaj litere szóstą");
        int szóstą = klawiatura5.nextInt();
        
        Scanner klawiatura6 = new Scanner(System.in);
        System.out.println("Podaj litere siódmą");
        int siódmą = klawiatura6.nextInt();
        
        Scanner klawiatura7 = new Scanner(System.in);
        System.out.println("Podaj litere ósmą");
        int ósmą = klawiatura7.nextInt();
        
        Scanner klawiatura8 = new Scanner(System.in);
        System.out.println("Podaj litere dziewiątą");
        int dziewiątą = klawiatura8.nextInt();
        
        Scanner klawiatura9 = new Scanner(System.in);
        System.out.println("Podaj litere dziesiątą");
        int dziesiątą = klawiatura9.nextInt();
	
        
        System.out.println(pierwszą);     
        System.out.println(drugą);
        System.out.println(trzecią);
        System.out.println(czwartą);
        System.out.println(piątą);
        System.out.println(szóstą);
        System.out.println(siódmą);
        System.out.println(ósmą);
        System.out.println(dziewiątą);
        System.out.println(dziesiątą);
	}

}
0

POPRAWIONY KOD :

 import java.util.*;

public class Bit {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
        Scanner klawiatura = new Scanner(System.in);
        System.out.println("Podaj litere pierwszą");
        int pierwszą = klawiatura.nextInt();
        
        Scanner klawiatura1 = new Scanner(System.in);
        System.out.println("Podaj litere drugą");
        int drugą = klawiatura1.nextInt();
        
        Scanner klawiatura2 = new Scanner(System.in);
        System.out.println("Podaj litere trzecią");
        int trzecią = klawiatura2.nextInt();
        
        Scanner klawiatura3 = new Scanner(System.in);
        System.out.println("Podaj litere czwartą");
        int czwartą = klawiatura3.nextInt();
        
        Scanner klawiatura4 = new Scanner(System.in);
        System.out.println("Podaj litere piątą");
        int piątą = klawiatura4.nextInt();
        
        Scanner klawiatura5 = new Scanner(System.in);
        System.out.println("Podaj litere szóstą");
        int szóstą = klawiatura5.nextInt();
        
        Scanner klawiatura6 = new Scanner(System.in);
        System.out.println("Podaj litere siódmą");
        int siódmą = klawiatura6.nextInt();
        
        Scanner klawiatura7 = new Scanner(System.in);
        System.out.println("Podaj litere ósmą");
        int ósmą = klawiatura7.nextInt();
        
        Scanner klawiatura8 = new Scanner(System.in);
        System.out.println("Podaj litere dziewiątą");
        int dziewiątą = klawiatura8.nextInt();
        
        Scanner klawiatura9 = new Scanner(System.in);
        System.out.println("Podaj litere dziesiątą");
        int dziesiątą = klawiatura9.nextInt();
	
        
        System.out.println(pierwszą);     
        System.out.println(drugą);
        System.out.println(trzecią);
        System.out.println(czwartą);
        System.out.println(piątą);
        System.out.println(szóstą);
        System.out.println(siódmą);
        System.out.println(ósmą);
        System.out.println(dziewiątą);
        System.out.println(dziesiątą);
	}

}

Błąd jaki mi wyskakuje

Exception in thread "main" java.util.InputMismatchException
	at java.util.Scanner.throwFor(Unknown Source)
	at java.util.Scanner.next(Unknown Source)
	at java.util.Scanner.nextInt(Unknown Source)
	at java.util.Scanner.nextInt(Unknown Source)
	at Bit.main(Bit.java:13)
 
0

W kodzie zadeklarowales typ calkowitoliczbowy int dlatego Ci wyrzuca blad przy literach.

0

Przesadziłeś.
Po pierwsze Scanner wystarczy zadeklarować raz i używać kiedy się chce. Nie ma potrzeby deklarowania "n" obiektów tylko po to, żeby ciągle czytać to samo.
Po drugie, chcesz litery, więc użyj klasy String lub typu char, a nie typu int

Scanner klawiatura = new Scanner(System.in);
System.out.println("Podaj litere pierwszą");
String pierwsza = klawiatura.nextLine();

Z obiektu klawiatura możesz korzystać w całym programie, więc reszta podobnych instancji do wywalenia.
Staraj się nie używać polskich znaków w nazwach zmiennych. A najlepiej stosuj nazewnictwo angielskie, dla lepszej praktyki ;).

0

oraz lepiej (dla zasady) nie używać polskich (oraz jakichkolwiek) znaków diakrytycznych - tak na marginesie :)

0

Często spotykane rozwiązanie:
private static Scanner klawiatura = new Scanner(System.in);
przed main w każdej funkcji klasy (statycznej bądź nie) mamy dostęp do tego samego skanera.

1 użytkowników online, w tym zalogowanych: 0, gości: 1