1 / 3
Sep 2016

Hej może ktoś rzucić okiem i powiedzieć gdzie mam błąd bo według mnie wszystko jest ok, sprawdzałem na kilku peselach i wszystko działa prawidłowo. Jednak ciągle wyskakuje mi błąd wykonania (NZEC).
Z góry dziękuję :slight_smile:
`String pesel;

    Scanner odczyt = new Scanner(System.in);        
    pesel = odczyt.next();

    int liczba = pesel.length();
    int[] MojaTablica = new int[liczba];

    for(int i = 0; i < 11; i++){

        char aChar = pesel.charAt(i);
        String znaki = Character.toString(aChar);
        int wynik = Integer.parseInt(znaki);
        MojaTablica[i] = wynik;
    }    
        int rezultat = MojaTablica[0]*1 + MojaTablica[1]*3 + MojaTablica[2]*7 + MojaTablica[3]*9 + MojaTablica[4]*1 + MojaTablica[5]*3 + MojaTablica[6]*7 + MojaTablica[7]*9 + MojaTablica[8]*1 + MojaTablica[9]*3 + MojaTablica[10]*1;
        int suma = rezultat%10;
        if (suma == 0){
            System.out.println("D");
        }else{
            System.out.println("N");
        }`
  • created

    Sep '16
  • last reply

    Feb '17
  • 2

    replies

  • 814

    views

  • 3

    users

  • 1

    link

w przypadku javy istotny jest sposób wczytywania danych (NZEC najczęściej jest wynikiem niepoprawnego wczytywania)

na starym forum38 jest gdzieś, jak to robić poprawnie

na podstawie tego fragmentu programu to trudno stwierdzić (pomijając fakt, że nie znam javy :slight_smile: )

jeżeli jednak ten fragment jest w pętli po liczbie testów, to deklaracja Scanner ... powinna być przed pętlą

5 months later

Spróbuj wczytać dane za pomocą klasy BufferedReader np.
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

To powinno rozwiązać twój problem.