Szkolenia programowania we Wrocławiu
Kurs Java Podstawy - rozszerzony

Rozwiązanie 1.2

Mam nadzieję, że z tym nikt nie miał problemu. Przykładowe rozwiązanie:

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));
  }
}

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ę parametrem metody println, która wyświetla ten tekst na ekranie.

Komentarze

Komentarze zamknięte. Zapraszamy do grupy 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);
}
}