Wątek przeniesiony 2017-10-08 05:39 z Java przez bogdans.

Jak sprawdzić jaka jest długość znaków wprowadzonych przez uzytkownika

0

Witam. Mam problem (od razu zaznaczam, że jestem początkującym w tym języku, jak i ogólnie w programowaniu) z moją mini apką. Tzn - chcę w ramach utrwalenia sobie nowych informacji na temat danego zagadnienia w jezyku java stworzyć mini program, który pobiera od użytkownika kod PIN (ktory sam sobie ma ustalic), a pozniej dzieki temu, zeby mogl sie zalogowac do "swojego konta". Tylko problem w tym, że chcę dodać, że kod PIN ma mieć dokładnie 4 cyfry.

static void wprowadzenie() {
Scanner wprowadz = new Scanner(System.in);
int pin = wprowadz.nextInt();

    if (pin.length > 3 & pin.length < 5) {
        System.out.println("Twój kod PIN został pomyślnie przytwierdzony do Twojego konta.");
    } else {
        System.out.println("Twój kod PIN ma się składać z 4 cyfr.");
    }
}

chcialbym użyć takiego czegoś, ale niestety te length nie ma tutaj żadnego zastosowania. Pomożecie? Mam nadzieje, ze wiecie o co mi chodzi, pozdrowionka :)

0

Spróbuj

pin.length()

zamiast

pin.length
0

Są dwa rozwiązania:

  1. sprawdzasz kolejne potęgi liczby 10, która z nich będzie większa od Twojej liczby. Na bazie wykładnika możesz określić liczbę cyfr w systemie dziesiętnym,
  2. konwertujesz pin do typu String. String jest obiektem, więc posiada metody i wśród nich jest length().

Drugi sposób jest prostszy w zapisie, ale jest robieniem trochę naokoło. W pierwszym musisz po prostu napisać niewielki algorytm, który będzie podnosił 10 do kolejnych potęg i sprawdzał warunek.

Natomiast co do pin.length - pin to zmienna typu int. To jest typ prymitywny, a typy prymitywne w Javie nie posiadają ani metod, ani atrybutów, więc taki zapis jest z założenia niepoprawny.

0

Dlaczego tak dziwnie zapisałeś warunek?

if (pin.length > 3 & pin.length < 5)

Można prościej

if (pin.length() == 4)

Wybrałeś też niewłaściwy typ dla zmiennej pin. Niech ma typ String i odczytuj ją metodą

pin = wprowadz.next();
0

Dzięki Panowie. Objasniliscie mega sytuację, wielkie dzięki ;)

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