IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Pomoc s prekladem pojmu ohledne javy

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
josef klouda
Člen
Avatar
josef klouda:31.1.2022 8:24

Výklad pojmu, co mysli tou prvni vetou prosim?

The switch statement allows you to have a number of cases for a single condition check.

  1. String title a title ve switch jsou jedna a ta sama promenna nebo parametr, proc to nejde napsat pouze jednou??
  2. je zde return likelyGender, kam se pak uchova vracena hodnota z tohoto returnu, to se po kazdem case vyhodnoti likelyGender a porovna se s hodnotou likelyGenderIs?

Zkusil jsem: Uz jsem si dohledaval ohledne assertEquals, ze prvni hodnota je ocekavana a druha aktualni

Chci docílit: naucit se swtich v test junit

The switch statement allows you to have a number of cases for a single condition check.
@Test
public void switchExample(){
assertEquals("M", likelyGenderIs("sir"));
assertEquals("M", likelyGenderIs("mr"));
assertEquals("M", likelyGenderIs("master"));
assertEquals("F", likelyGenderIs("miss"));
assertEquals("F", likelyGenderIs("mrs"));
assertEquals("F", likelyGenderIs("ms"));
assertEquals("F", likelyGenderIs("lady"));
assertEquals("F", likelyGenderIs("madam"));
}
public String likelyGenderIs(String title){
String likelyGender;
switch(title.toLowerCase()){
case "sir":
likelyGender = "M";
break;
case "mr":
likelyGender = "M";
break;
case "master":
likelyGender = "M";
break;
default:
likelyGender = "F";
break;
}
return likelyGender;
}
 
Odpovědět
31.1.2022 8:24
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:31.1.2022 12:39

The switch statement allows you to have a number of cases for a single condition check.
translate.goo­gle.com
Příkaz switch vám umožňuje mít několik případů pro jednu kontrolu stavu.

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html
        switch (month) {
            case 1:  futureMonths.add("January");
            case 2:  futureMonths.add("February");
            case 3:  futureMonths.add("March");
            case 4:  futureMonths.add("April");
            case 5:  futureMonths.add("May");
            case 6:  futureMonths.add("June");
            case 7:  futureMonths.add("July");
            case 8:  futureMonths.add("August");
            case 9:  futureMonths.add("September");
            case 10: futureMonths.add("October");
            case 11: futureMonths.add("November");
            case 12: futureMonths.add("December");
                     break;
            default: break;
  1. kdyz CASE neukoncis BREAK, tak ta funkce pokracuje. Cili, kdyz to ma mit stejny vysledek, muzes to davat pod jeden BREAK;
  2. opatrne s tim, co davas do default. Male, Female, It a v usa jeste jina pohlavi.

switch (title.toLowerCase()) {
    case "sir":
    case "mr":
    case "master":
        likelyGender = "M";
        break;
    default:
        likelyGender = "F";
        break;
 
Nahoru Odpovědět
31.1.2022 12:39
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:31.1.2022 12:46

A ty dalsi otazky, 1, 2, cos psal
1 - nedava smysl. Prvni title je vstup funkce, druhe je operace ve switch s tim vstupem. jestli myslime oba totez
2 - to take nedava smysl

assertEquals("F", likelyGenderIs("madam"));
assertEquals("F", "F");
assertEquals("F", "M");

Hodnota z likelyGenderIs se pouzije jako vstup pro funkci assertEquals. Po zpracovani funkci assertEquals se uplne ztrati. Jak je mysleno to uchovavani?

 
Nahoru Odpovědět
31.1.2022 12:46
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:31.1.2022 12:56

jakoze funkce ruzne operace funguji tak
data ---> [ funkce (vstupy)->(zpracovani)->(vystupy/return) ] ---> vystup
Neco das na vstup. Pak to funkce zpracuje, vyrobi vystup. A ty ten vystup hned pouzijes dal nebo si ho ulozis do promene.

assertEquals("F", likelyGenderIs("madam")); // pouzijes jako vstup pro dalsi funkci

x = likelyGenderIs("madam") // ulozis do promene
assertEquals("F", x);

Nebo existuji glovalni promene. A pak se treba hodnota z returnu ztrati, ale zustane vysledek v te globalni promene. To by ale ta funkce musela byt jinak zapsana i ta promena.

String likelyGender; // pridat

public String likelyGenderIs(String title){
//String likelyGender; // smazat
switch (title.toLowerCase()) {
    case "sir":
    case "mr":
    case "master":
        likelyGender = "M";
        break;
    default:
        likelyGender = "F";
        break;
  }
return likelyGender;
}

assertEquals("F", likelyGenderIs("madam"));
print (likelyGender) // tady to zustava stale ulozene, dokud nezavolas znova `likelyGenderIs`
assertEquals("F", likelyGenderIs("mr"));

Pozn.: To oznameni o switch je myslim jen upozorneni, to resit nemusis. jen ti rika, ze to muzes napsat jinak. Ale treba pozdeji s tim budes neco delat a bude pro tebe vyhodnejsi ta prvni verze, tva.

Editováno 31.1.2022 12:58
 
Nahoru Odpovědět
31.1.2022 12:56
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.