• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Sprawdzenie czy użytkownik podał małą literę

Object Storage Arubacloud
0 głosów
1,746 wizyt
pytanie zadane 26 czerwca 2016 w Java przez GulderBone Użytkownik (600 p.)
zamknięte 28 czerwca 2016 przez GulderBone

Chciałbym sprawdzić czy znak podany przez użytkownika jest małą literą, ale mój warunek zwraca TRUE przy wpisaniu dowolnego znaku, proszę o pomoc.

System.out.println("Enter the character: ");
		character = input.next().charAt(0);
		
		if((int)character <= 122 && (int)character >= 61) {
			System.out.println("is a letter");
		}

 

komentarz zamknięcia: Problem rozwiązany
komentarz 26 czerwca 2016 przez niezalogowany
Nie rozumiem, jaki związek z problemem ma ten if?
komentarz 27 czerwca 2016 przez GulderBone Użytkownik (600 p.)
Próbowałem sprawdzić po kodzie ascii, a liczby od 61 do 122 zawierają w nim małe litery.
komentarz 27 czerwca 2016 przez niezalogowany
Nie, nie zawierają, nie mamy 62 liter w alfabecie (122-61+1) ??
komentarz 28 czerwca 2016 przez GulderBone Użytkownik (600 p.)
Masz rację, nie wiem czemu tak napisałem, dzięki bardzo :)

3 odpowiedzi

+2 głosów
odpowiedź 26 czerwca 2016 przez MichuDev Pasjonat (20,300 p.)
wybrane 28 czerwca 2016 przez GulderBone
 
Najlepsza
if(Character.isLowerCase(znak){
  // jest z małej litery
}

Wygląda najlepiej i działa z polskimi znakami. Zmienna znak jest twoim znakiem.

komentarz 27 czerwca 2016 przez GulderBone Użytkownik (600 p.)
Dzięki bardzo, jak będę w domu to sprawdzę, moja jedyna wątpliwość jest taka, że trzymam zmienną character w charze do którego nie ma metod, to co mam próbować trzymać tą literę w stringu?

Robię ogólnie wisielca i ten fragment ma sprawdzić czy użytkownik wpisał literę, która potem będzie szukana w słowie.
komentarz 27 czerwca 2016 przez MichuDev Pasjonat (20,300 p.)
edycja 27 czerwca 2016 przez MichuDev

Typ char jest typem który oszczędza nam pamięć ponieważ zajmuje mniej bajtów niż typ Character. Powód jest prosty: Klasa Character dziedziczy z klasy java.lang.Object i zużywa o wiele więcej pamięci, jednak ma więcej możliwości (w większości wystarczą do tego statyczne metody klasy Character). Należy pamiętać, że następuje wypakowywanie typy char z Obiektu klasy Character podczas zmian wartości porównań. Typ Character jest również używany gdy argumentem metody,konstruktora jest typ Object, oraz przy typach sparametryzowanych np. List<Character> a nie List<char>. Jednak przy typach sparametryzowanych nie trzeba będzie tego robić w Javie 9.

Podobna sytuacja jest w przypadku innych typów prymitywnych: int (Integer),float (Float), double (Double), byte (Byte), short (Short) i long (Long).

 

komentarz 28 czerwca 2016 przez GulderBone Użytkownik (600 p.)
Dziękuję bardzo za wyjaśnienie :)
0 głosów
odpowiedź 26 czerwca 2016 przez Mar Cin Dyskutant (8,900 p.)
if (znak.toLowerCase().charAt(0) == znak.charAt(0)) {



}

Spróbuj coś w tym stylu.

komentarz 26 czerwca 2016 przez MichuDev Pasjonat (20,300 p.)
Nie wygląda to profesjonalnie. Nazwa zmiennej znak a typ  String. Lepiej użyć statycznej metody z klasy Character która działa dla prymitywnego typu char co przedstawiłem w mojej odpowiedzi.
komentarz 26 czerwca 2016 przez Mar Cin Dyskutant (8,900 p.)
ok :)
0 głosów
odpowiedź 26 czerwca 2016 przez xandros Nałogowiec (29,450 p.)

Mamy tablice ascii: http://www.asciitable.com/

Jeśli zamieniamy z char na int, to patrzymy na wartości decymalne, czyli interesują nas od 97 do 122 (litery od a-z)

Niestety, nie działa to na polskie znaki diakrytyczne, jak i na inne alfabety.

Dlatego też proponuję odpowiedź Mar Cina http://forum.pasja-informatyki.pl/153493/sprawdzenie-czy-uzytkownik-podal-mala-litere#a153496

Podobne pytania

0 głosów
1 odpowiedź 1,843 wizyt
pytanie zadane 7 kwietnia 2016 w Java przez Aisekai Nałogowiec (42,190 p.)
0 głosów
1 odpowiedź 988 wizyt
pytanie zadane 3 stycznia 2016 w Java przez natrov Gaduła (3,970 p.)
0 głosów
0 odpowiedzi 532 wizyt
pytanie zadane 14 lutego 2017 w HTML i CSS przez K0XM4N Gaduła (3,640 p.)

92,579 zapytań

141,429 odpowiedzi

319,657 komentarzy

61,962 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...