Błąd przy wpisaniu jakiejkolwiek litery

2013-01-04 22:23
Rezor111
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ą);
    }

}
edytowany 1x, ostatnio: bogdans, 2016-12-13 18:26

Pozostało 580 znaków

2013-01-04 22:25
Rezor111
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)

Pozostało 580 znaków

2013-01-04 23:24
0

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

Pozostało 580 znaków

2013-01-04 23:29
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 ;).


Idiots, idiots everywhere.
edytowany 2x, ostatnio: allocer, 2013-01-04 23:31

Pozostało 580 znaków

2013-01-27 23:48
0

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

Pozostało 580 znaków

2013-01-28 01:26
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.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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