interpretacja kodu

Odpowiedz Nowy wątek
2018-03-12 19:53
0

Witam. Czy mógłbym prosić o pomoc w interpretacji kodu?

public String stan() {
String wymiary = dlugosc+"x"+wysokosc;
String otwarcie = otwarte ? "otwarte" : "zamkniete";
String stanKlamki = klamka!= null ? klamka.stan() : "bez klamki";
return wymiary +" "+ otwarcie +" "+ stanKlamki;

Pozostało 580 znaków

2018-03-12 20:02
0
public String stan() {
    String wymiary = dlugosc + "x" + wysokosc; // Łączysz długość z wysokością i wypisujesz w formacie [dlugość]x[wysokość]
 
    String otwarcie = otwarte ? "otwarte" : "zamkniete"; // Jeżeli 'otwarte' jest prawdą wtedy do Stringa przypisywana jest wartość "otwarte", w przeciwnym razie "zamkniete"
 
    String stanKlamki = klamka != null ? klamka.stan() : "bez klamki"; // Jeżeli obiekt klamki istnieje wtedy przypisywana jest wartość zwracana przez metodę stan() obiektu 'klamka', w przeciwnym razie "bez klamki"
 
    return wymiary + " " + otwarcie + " " + stanKlamki; // Łączenie powyższych stringów z spacjami pomiędzy nimi.
}

Pozostało 580 znaków

2018-03-12 20:04
0
  1. Pisał go ktoś, kto nie programuje zbyt długo (ponieważ zmienne po polsku)
  2. funkcja zwraca tekstowy opis jakichś zmiennych. Utworzona zapewne do celów debugowania, albo do celów informacyjnych, np. wyświetlania jakiegoś komunikatu użytkownikowi.

BTW

String wymiary = dlugosc+"x"+wysokosc;

czy zmienne dlugosc i wysokosc to liczby?
Dziwię się, bo myślałem, że Java jest językiem silnie typowanym, a tutaj tak jakby występowało przymuszanie do stringa, czyli coś, co robią słabo typowane języki (o ile faktycznie dlugos i wysokosc to liczby, bo nie widzę tutaj deklaracji).


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);

Pozostało 580 znaków

2018-03-12 20:06
0
atmal napisał(a):
public String stan() {
  String wymiary = dlugosc + "x" + wysokosc; // Łączysz długość z wysokością i wypisujesz w formacie [dlugość]x[wysokość]
 
  String otwarcie = otwarte ? "otwarte" : "zamkniete"; // Jeżeli 'otwarte' jest prawdą wtedy do Stringa przypisywana jest wartość "otwarte", w przeciwnym razie "zamkniete"
 
  String stanKlamki = klamka != null ? klamka.stan() : "bez klamki"; // Jeżeli obiekt klamki istnieje wtedy przypisywana jest wartość zwracana przez metodę stan() obiektu 'klamka', w przeciwnym razie "bez klamki"
 
  return wymiary + " " + otwarcie + " " + stanKlamki; // Łączenie powyższych stringów z spacjami pomiędzy nimi.
}

Wielkie dzięki i szacuneczek. Przez godzinę nie mogłem tego rozkminić a tu proszę.

Pozostało 580 znaków

2018-03-12 20:09
0
LukeJL napisał(a):
  1. Pisał go ktoś, kto nie programuje zbyt długo (ponieważ zmienne po polsku)
  2. funkcja zwraca tekstowy opis jakichś zmiennych. Utworzona zapewne do celów debugowania, albo do celów informacyjnych, np. wyświetlania jakiegoś komunikatu użytkownikowi.

BTW

String wymiary = dlugosc+"x"+wysokosc;

czy zmienne dlugosc i wysokosc to liczby?
Dziwię się, bo myślałem, że Java jest językiem silnie typowanym, a tutaj tak jakby występowało przymuszanie do stringa, czyli coś, co robią słabo typowane języki (o ile faktycznie dlugos i wysokosc to liczby, bo nie widzę tutaj deklaracji).

Cała klasa wygląda następująco:
public class Skrzydlo { //deklaracja klasy: nazwa klasy jest taka sama jak nazwa pliku
private int dlugosc; //pole prywatne dlugosc typu int
private int wysokosc; //pole prywatne wysokosc typu int
private Klamka klamka; //pole prywatne typu Klamka o nazwie klamka
private boolean otwarte = false; //pole prywatne otwarte typu boolean inicjujące zmienna true

public Skrzydlo(int dlugosc, int wysokosc) { //konstruktor publiczny z dwoma argumentami typu int
    this.dlugosc = dlugosc; //przedłonięcie zmiennej lokalnej dlugosc
    this.wysokosc = wysokosc; //przesłonięcie zmiennej lokalnej wysokosc
}
public Skrzydlo(int dlugosc, int wysokosc, Klamka klamka) { //konstruktor publiczny z dwoma argumentami typu int i jednym argumentem typu Klamka o nazwie klamka 
    this(dlugosc,wysokosc); //wywołanie jednego konstruktora na rzecz innego konstruktora parametry jawne to dlugosc i wysokosc
    this.klamka = klamka; //przesłonięcie zmiennej lokalnej klamka
}

public int getDlugosc() { //metoda dostępowa get
    return dlugosc; //zwrócenie wartości do pola dlugosc
}
public void setDlugosc(int dlugosc) { //deklaracja metody, nazwaMetody (parametry)
    this.dlugosc = dlugosc; //przesłonięcie zmiennej lokalnej dlugosc
}
public int getWysokosc() { //metoda dostępowa get
    return wysokosc; //zwrócenie wartości do pola wysokosc
}
public void setWysokosc(int wysokosc) { //metoda dostępowa set
    this.wysokosc = wysokosc; //przesłonięcie zmiennej lokalnej wysokosc
}
public Klamka getKlamka() { //metoda dostępowa get
    return klamka; //zwrócenie wartości do pola klamka
}
public void setKlamka(Klamka klamka) { //metoda dostępowa set
    this.klamka = klamka; //przesłonięcie zmiennej lokalnej klamka
}
public boolean isOtwarte() { //publiczna metoda typu boolean
    return otwarte; //zwrócenie wartości do pola otwarte
}
public void setOtwarte(boolean otwarte) { //metoda dostępowa set
    this.otwarte = otwarte; //przesłonięcie zmiennej lokalnej otwarte
}
public String stan() {
    String wymiary = dlugosc+"x"+wysokosc;
    String otwarcie = otwarte ? "otwarte" : "zamkniete";
    String stanKlamki = klamka!= null ? klamka.stan() : "bez klamki";
    return wymiary  +" "+ otwarcie +" "+ stanKlamki;
}

}

Od niedawna uczę się programowania w java i mam zadanie które polega na opisaniu kodu. Oczywiście jest to jedna z czterech klas.

Pozostało 580 znaków

2018-03-12 20:13
0
luki25591 napisał(a):
LukeJL napisał(a):
  1. Pisał go ktoś, kto nie programuje zbyt długo (ponieważ zmienne po polsku)
  2. funkcja zwraca tekstowy opis jakichś zmiennych. Utworzona zapewne do celów debugowania, albo do celów informacyjnych, np. wyświetlania jakiegoś komunikatu użytkownikowi.

BTW

String wymiary = dlugosc+"x"+wysokosc;

czy zmienne dlugosc i wysokosc to liczby?
Dziwię się, bo myślałem, że Java jest językiem silnie typowanym, a tutaj tak jakby występowało przymuszanie do stringa, czyli coś, co robią słabo typowane języki (o ile faktycznie dlugos i wysokosc to liczby, bo nie widzę tutaj deklaracji).

Cała klasa wygląda następująco:
public class Skrzydlo { //deklaracja klasy: nazwa klasy jest taka sama jak nazwa pliku
private int dlugosc; //pole prywatne dlugosc typu int
private int wysokosc; //pole prywatne wysokosc typu int
private Klamka klamka; //pole prywatne typu Klamka o nazwie klamka
private boolean otwarte = false; //pole prywatne otwarte typu boolean inicjujące zmienna true

public Skrzydlo(int dlugosc, int wysokosc) { //konstruktor publiczny z dwoma argumentami typu int
this.dlugosc = dlugosc; //przedłonięcie zmiennej lokalnej dlugosc
this.wysokosc = wysokosc; //przesłonięcie zmiennej lokalnej wysokosc
}
public Skrzydlo(int dlugosc, int wysokosc, Klamka klamka) { //konstruktor publiczny z dwoma argumentami typu int i jednym argumentem typu Klamka o nazwie klamka
this(dlugosc,wysokosc); //wywołanie jednego konstruktora na rzecz innego konstruktora parametry jawne to dlugosc i wysokosc
this.klamka = klamka; //przesłonięcie zmiennej lokalnej klamka
}

public int getDlugosc() { //metoda dostępowa get
return dlugosc; //zwrócenie wartości do pola dlugosc
}
public void setDlugosc(int dlugosc) { //deklaracja metody, nazwaMetody (parametry)
this.dlugosc = dlugosc; //przesłonięcie zmiennej lokalnej dlugosc
}
public int getWysokosc() { //metoda dostępowa get
return wysokosc; //zwrócenie wartości do pola wysokosc
}
public void setWysokosc(int wysokosc) { //metoda dostępowa set
this.wysokosc = wysokosc; //przesłonięcie zmiennej lokalnej wysokosc
}
public Klamka getKlamka() { //metoda dostępowa get
return klamka; //zwrócenie wartości do pola klamka
}
public void setKlamka(Klamka klamka) { //metoda dostępowa set
this.klamka = klamka; //przesłonięcie zmiennej lokalnej klamka
}
public boolean isOtwarte() { //publiczna metoda typu boolean
return otwarte; //zwrócenie wartości do pola otwarte
}
public void setOtwarte(boolean otwarte) { //metoda dostępowa set
this.otwarte = otwarte; //przesłonięcie zmiennej lokalnej otwarte
}
public String stan() {
String wymiary = dlugosc+"x"+wysokosc;
String otwarcie = otwarte ? "otwarte" : "zamkniete";
String stanKlamki = klamka!= null ? klamka.stan() : "bez klamki";
return wymiary +" "+ otwarcie +" "+ stanKlamki;
}
}

Od niedawna uczę się programowania w java i mam zadanie które polega na opisaniu kodu. Oczywiście jest to jedna z czterech klas. Czy ten kod jest w miarę dobrze opisany?

edytowany 2x, ostatnio: luki25591, 2018-03-12 20:22

Pozostało 580 znaków

2018-03-12 20:28
0

Zadanie zadaniem, tylko pamiętaj, że w prawdziwym kodzie nie pisze się tylu komentarzy.

public Klamka getKlamka() { //metoda dostępowa get

czyli komentarz metoda dostępowa get na potrzeby ćwiczenia okej, ale jak będziesz pisał potem kiedyś normalnie kod, to nie pisz takich masło-maślanych komentarzy, bo nie mają one sensu (niestety wiele osób potem pisząc prawdziwy kod, pisze masę niepotrzebnych komentarzy. I to tylko zaśmieca potem kod)


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);

Pozostało 580 znaków

2018-03-13 16:54
0

czy zmienne dlugosc i wysokosc to liczby?
Dziwię się, bo myślałem, że Java jest językiem silnie typowanym, a tutaj tak jakby występowało przymuszanie do stringa, czyli coś, co robią słabo typowane języki (o ile faktycznie dlugos i wysokosc to liczby, bo nie widzę tutaj deklaracji).

Tak to w Javie działa dla typów prymitywnych, nie będących obiektami ;)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0