Baza Wiedzy

Definiowanie zmiennych

Zadanie

Napisz program, w którym zadeklarujesz kilka zmiennych finalnych, lub zmiennych różnych typów o dowolnych nazwach, a następnie wyświetlisz je w kolejnych wierszach.

W tym samym programie zadeklaruj cztery zmienne typu String. Trzy z nich zainicjuj jakimiś wyrazami, a czwartemu przypisz ciąg znaków utworzony z połączenia trzech wcześniejszych zmiennych. Następnie wyświetl czwartą zmienną na ekranie.

Przy użyciu metody substring wyświetl na ekranie dwa pierwsze wyrazy wykorzystując odwołując się wyłącznie do czwartej zmiennej typu String.

Rozwiązanie poniżej ↓ Nie zaglądaj przed samodzielną próbą rozwiązania!

 

 

 

 

 

 

 

 

 

 

 

 

 

Rozwiązanie

class VariablesTask {
    public static void main(String[] args) {
        short a = 5;
        final int b = 129;
        final char c = 'c';

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        String x = "Ala ";
        String y = "ma ";
        String z = "kota";
        String zdanie = x + y + z;

        System.out.println(zdanie);
        System.out.println(zdanie.substring(0, 7));
    }
}

Na początku zdefiniowane są trzy zmienne różnych typów. To na co należało zwracać uwagę, to kompatybilność typów. Jeżeli zmienna jest zadeklarowana jako typ int, to nie możesz do niej przypisać np. napisu zapisanego w cudzysłowie.

To co jest warte podkreślenia w tym przykładzie to wykorzystanie metody substring() wewnątrz metody println(). Najpierw wykonuje się substring() i zwraca ciąg znaków "Ala ma " i staje się argumentem metody println(), która wyświetla ten tekst na ekranie. Ostatni wiersz można także rozbić na dwa etapy:

String sub = zdanie.substring(0, 7)
System.out.println(sub);

Najlepszy newsletter o Javie w Polsce

Czy chcesz otrzymywać nowości ze świata Javy oraz przykładowe pytania rekrutacyjne? Zapisz się na newsletter i bądź na bieżąco! Otrzymasz także ekskluzywne materiały oraz informacje o nowych kursach i promocjach.

Traktujemy Twoją prywatność poważnie. Nikomu nie udostępniamy Twojego maila no i zawsze możesz się wypisać.

Komentarze do artykułu

Wyłączyliśmy możliwość dodawania komentarzy. Poniżej znajdziesz archiwalne wpisy z czasów gdy strona była jeszcze hobbystycznym blogiem. Zapraszamy natomiast do zadawnia pytań i dyskusji na naszej grupe na facebooku.

YeeeZooo

Ciekawe też jest jakby zainicjowanie od razu zmiennej klasy String, bez wcześniejszej deklaracji, przynajmniej tak to rozumiem. kod: System.out.println("testowy".substring(0,2)); Metoda substring zwróci "te", a metoda println to wyświetli. Jak coś źle rozumiem to mnie poprawiajcie.

Q

Sa tu 4 zmienne typu String i wszystkie sa zadeklarowane: String x = "Ala "; String y = "ma "; String z = "kota"; String zdanie = x+y+z; Ostatnia operacja nie deklaruje nowej zmiennej - pierwsza czesc (substring) operuje na zmiennej zdanie, a druga (println) na uzyskanym stringu (ktory nie jest jednak nowa zmienna).

Slawek

String zdanie to jest deklaracja nowej zmiennej, więc nie bardzo rozumiem komentarz. W dalszej części oczywiście masz rację.

MrWilczku

Ja zrobiłam inaczej, napisałam tak: public class Zadanie{ public static void main(String[] args){ byte liczba = 1; short liczba1 = 2; int liczba2 = 3; long liczba3 = 4; System.out.println(liczba); System.out.println(liczba1); System.out.println(liczba2); System.out.println(liczba3); String jeden = "To "; String dwa = "jest "; String trzy = "kot"; String cztery = jeden+dwa+trzy; System.out.println(cztery); String piec = cztery.substring(0, 8); System.out.println(piec); } }

AdamRamm

Ja się trochę namęczyłem z tym i wyszło ciut inaczej: public class Test{ public static void main(String[] args){ System.out.println("\n"); final int STALA1 = 5; final int STALA2 = 8; final int STALA3 = 10; final int STALA4 = 12; System.out.println(STALA1); System.out.println(STALA2); System.out.println(STALA3); System.out.println(STALA4); System.out.println("\n"); int ZMIENNA1 = 16; int ZMIENNA2 = 20; int ZMIENNA3 = 24; int ZMIENNA4 = 28; System.out.println("\n"); System.out.println(ZMIENNA1); System.out.println(ZMIENNA2); System.out.println(ZMIENNA3); System.out.println(ZMIENNA4); System.out.println("\n"); System.out.println(STALA1+STALA2); System.out.println("\n"); String STRING1 = "Rozwiazanie"; String STRING2 = "tego"; String STRING3 = "zadania"; String STRING4 = STRING1+STRING2+STRING3; System.out.println(STRING4); System.out.println(STRING4.substring(0, 11));} }

Andio

WItam Przepraszam ale tu jest bła. W zadaniu jest, żeby wyświetlić pierwsze 2 wyrazy. Z rozwiązania widać ( bez wklepywania), że wyświetli się Alamako. A nie Alama.

Adam

Wyświetli się "Ala ma ". Spacje się też liczą.

Paweł

#5 Panie Adamie System.out.println(„\n”); nie potrzeba "\n" w środku, stosując System.out.println(); sam nam się zrobi "Enter".

Adam

Ahh... to były początki początków. Teraz ten kod napisałbym dużo zgrabniej. Tak szczerze mówiąc nie pamiętam kiedy to tworzyłem, ale w tym momencie wiem, że masz rację, ale wtedy było co innego.

Paweł

Ja dopiero zacząłem zabawę, ale mknę pomiędzy kolejnymi wpisami i coraz bardziej mi się podoba. Nigdy nie podejmowałem się żadnego języka, ale jednak skądś mam pomysły co jak powinno wyglądać. Można to nazwać swoistymi eksperymentami, ale czyż tak człowiek nie uczy się najciekawiej? :)

Adam

Ja też dopiero zaczynam :P Aktualnie jestem w programowaniu obiektowym. Niestety przy ostatnich dwóch tematach w TYM dziale można się trochę pogubić. Przynajmniej ja tak mam :P

woolfik

W tym miejscu warto było wspomnieć o metodzie typu length i zrobić np coś takiego public class Zmienne{ public static void main(String[] args){ String zmienna1= "chwała"; String zmienna2 = "wam dzielni"; String zmienna3 = "policjanci"; String zmienna4 = zmienna1 + zmienna2 + zmienna3; System.out.println(zmienna4); System.out.println(zmienna4.substring(0,(zmienna1.length()+zmienna2.length()-1))); } }

polak

Wygląda na to, że 'length' przyjmuje już odpowiednią wartość i ten '-1' nie jest potrzebny. Gdyby jednak miał tam być to albo mamy za dużo nawiasów na końcu albo brakuje jednego przed 'zmienna2'.

Rafał

Dlaczego taki zapis jest błędny final char IMIE= 'Tomek';

Rafii

bo typ char to typ znakowy(jeden znak) a ty przypisujesz do zmiennej typu char String(łańcuch znaków) Pozdr

Mateusz

Jeżeli chodzi o "prace domową" to można to rozwiązać trochę inaczej niż sugeruje autor tzn: public class szesc { public static void main(String[] args) { String pierwszy = "Nazywam sie: "; String drugi = "Mateusz"; String trzeci = " Kowalski"; String suma = pierwszy + drugi + trzeci; System.out.println(suma); suma = suma.substring(0,10+1); System.out.println(suma); } }

Vadron

No właśnie prace domową również wykonałem w sposób powyżej. public class Zadanie{ public static void main(String[] args){ String a = "co "; String b = "tam "; String c = "jest?"; String calosc = a+b+c; System.out.println(calosc); String x = calosc.substring(0, 7)+"stary"; System.out.println(x); } }

grzesiek

Czesc ja dopiero zaczynam przygode z java wiec prosze o pomoc czyli np. public class Rozwiazanie{ public static void main(String[] args){ short a = 5; final int b = 129; final char c='c'; System.out.println(a); System.out.println(b); System.out.println(c); String x = "Ala "; String y = "ma "; String z = "kota"; String zdanie = x+y+z; System.out.println(zdanie); System.out.println(zdanie.substring(0, 7)); CO OZNACZA (0,7)); JESLI SIE NIE MYLE TO SUBSTRING 0 TO WYDRUK ZDANIA BEZ ALA?? A RESZTA ??

Dawid

Zrobilem dokladnie tak jak Mateusz: String x = "To "; String y = "jest "; String z = "Sparta"; String xyz = x+y+z; System.out.println(xyz); xyz = xyz.substring(0, 8); System.out.println(xyz); No ok, moze nie dokladnie, ale czy mogl by mi ktos wytlumaczyc o co chodzi z +1 w nawiasie substring? Przyklad Mateusza: suma = suma.substring(0,10+1);

Anje

Ja zrobiłam tak: public class Zmiennestalestrings{ public static void main (String [] args){ String hey = "Witaj "; String gdzie = "Swiecie "; String jakim = " Marzen"; String razem = Witaj+Swiece+Marzen; system.out.println(razem);i system.out.println(razem.substring(0,7)) int liczba; //DEKLARACJA liczba=5; //INICJALIZACJA int liczba2; liczba2=5 system.out.println("liczba+liczba2="+(liczba+liczba2)); final int L_2 L_2=4; final int L_3=6; system.out.println("L_2"/n "L_3") } } Czy dobrze?

Damian

Jeśli chodzi o Stringi Wydaje mi się, że powinnaś wywołując "String razem" powinnaś dodawać do siebie nazwy zmiennych String a nie jej przypisanie wartości czyli Witaj, Swiecie, Marzen. czyli: String razem = hey+gdzie+jakim;

Nawias

Nie wykorzystałem wszystkiego, co mogłem i wyszło mi takie coś (oczywiście działa): public class Stale{ public static void main(String[] args){ final double STALA1, STALA2; STALA1=2.0; STALA2=3.0; System.out.println(STALA1); System.out.println(STALA2); final int STALA3; STALA3=7; System.out.println(STALA3); int a=5; double b, c; b = 4.0; c = 4.5; System.out.println(a); System.out.println(b); System.out.println(c); String ja = "Ja "; String probuje = "probuje "; String programowac = "programowac"; String zdanie = ja+probuje+programowac; System.out.println(zdanie); String test = zdanie.substring(0,10); System.out.println(test); } }

Kurs Java WrocławJavaStart na Youtube