Pierwsze kroki w javie - łańcuchy, sprawdzanie długości

Pierwsze kroki w javie - łańcuchy, sprawdzanie długości

Wątek przeniesiony 2014-01-13 01:05 z Java przez bogdans.

P9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

Witajcie.
Jestem nowy na forum ale planuję być jego stałym bywalcem. Swoją przygodę z javą rozpocząłem kilka dni temu. Jestem w trakcie lektury "Java - postawy" wydanie IX wydawnictwa Helion. Obecnie dobrnąłem do łańcuchów i chciałem Was zapytać czy można w jakiś inny sposób niż ja to robię, zwrócić wartość true albo false w zależności czy łańcuch jest długości zerowej lub nie. Ja to robię w sposób następujący:

Kopiuj
public class Lancuchy {
    public static void main(String[] args)
    {
        String greeting = "";
            if (greeting.length()==0)
            System.out.println(true);
        else
            System.out.println(false);
    
    }
}

Inicjuję zmienną "greeting" łańcuchem pustej długości. Następnie sprawdzam instrukcją if czy łańcuch jest pusty i jeśli warunek jest spełniony drukuję true, w przeciwnym wypadku drukuje false. Oczywiście to działa, drukuje się poprawnie tylko chodzi mi o to czy da się to wykonań przy pomocy jednego drukowania (jednego wywołania instrukcji System.out.println) czy też musi to być zrobione tak jak ja napisałem czyli jedno wywołania System.out.println w przypadku gdzy warunek spełniony i drugie wywołanie w przypadku gdy nie spełniony.

Z góry przepraszam za tak banalne dla Was pytanie i dziękuję za udzieloną pomoc.

szweszwe
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1694
0

Może tak:

Kopiuj
System.out.println((greeting.length()==0));
P9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

Czyli rozumiem pomijam zupełnie instrukcję if. Ok, działa. Ale chcąc wykorzystać tego if-a rozumiem że muszę dać 2 wywołania System.out.println? :)

pats
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 12
1

Wersja 1:

Kopiuj
boolean czy_pusty = greeting.length() == 0;

System.out.println(czy_pusty);

Wersja 2:

Kopiuj
boolean czy_pusty;

if (greeting.length() == 0) {
    czy_pusty = true;
} else {
    czy_pusty = false;
}

System.out.println(czy_pusty);

To już padło:

Kopiuj
System.out.println(greeting.length() == 0);

Wszystkie wersje dają taki sam efekt.

P9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

Super, dzięki wielkie za te wersje. Faktycznie zapomniałem o boolean'ie a można go tu fajnie wykorzystać :). Pozdrawiam.

  • Rejestracja: dni
  • Ostatnio: dni
1
piotrz92 napisał(a):

Czyli rozumiem pomijam zupełnie instrukcję if. Ok, działa.

Koledzy jeszcze zapomnieli o tym, że można to porównanie == także pominąć.

Kopiuj
String greeting = "";
System.out.println(greeting.isEmpty());

Ponieważ greeting jest obiektem klasy string masz dostęp do większej ilości metod (nie tylko do length, której użyłeś) - jedną z nich jest isEmpty sprawdzająca czy łańcuch jest pusty (zwraca wtedy true, jeśli nie jest pusty to zwraca false).

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.