Wpis z mikrobloga

#programowanie #java #naukaprogramowania

Może ktoś wytłumaczyć na jakiej zasadzie powinno wypluwać przy kolejnych zdaniach?Totalnie nie czaję bluesa odnośnie tego, co powinno się wyświetlić. Czy znajdzie się dobra duszyczka, która rozjaśni mi ten problem?

public class MysteryWho {
public static void main(String[] args) {
String whom = "her";
String who = "him";
String it = "who";
String he = "it";
String she = "whom";

sentence(he, she, it);
sentence(she, he, who);
sentence(who, she, who);
sentence(it, "stu", "boo");
sentence(it, whom, who);
}

public static void sentence(String she, String who, String whom) {
System.out.println(who + " and " + whom + " like " + she);
}
}

Zdania do napisania (poprawne - dlaczego tak?):
sentence(he, she, it);
whom and who like it

sentence(she, he, who);
it and him like whom

sentence(who, she, who);
whom and him like him

sentence(it, "stu", "boo");
stu and boo like who

sentence(it, whom, who);
her and him like who
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@malczenzo: Ciało metody sentence - "System.out.println(who + " and " + whom + " like " + she);" mówi, że najpierw wyrzuca drugi parametr, potem trzeci i na końcu pierwszy.
Zatem w wywołaniu (he, she, it), wyświetli w kolejności Stringa o nazwie she, potem Stringa it, a następnie Stringa he.
A na początku przypisujesz im kolejno: "whom", "who" i "it".
  • Odpowiedz
@malczenzo: nazwy zmiennych nie odpowiadają wartościom im przypisanym (np. "her" przypisane jest do zmiennej o nazwie whom ), dodatkowo zdanie w metodzie sentence nie jest budowane z argumentów podawanych kolejno, tylko pomieszanych ( $2 and $3 like $1 ). Jeżeli wywołasz metodę z parametrami he, she, it, to przekażesz wartości "it", "whom", "who", następnie zostaną one podstawione do zdania w kolejności: 2. 3. 1. - otrzymasz zdanie "whom and who
  • Odpowiedz