Definiowanie zmiennych
Spis treści
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);
Dyskusja i komentarze
Masz pytania do tego wpisu? Może chcesz się podzielić spostrzeżeniami? Zapraszamy dyskusji na naszej grupie na Facebooku.
Poniżej znajdziesz archiwalne wpisy z czasów, gdy strona była jeszcze hobbystycznym blogiem.
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); } }