4. Práca so slovami a textom

Program pozdrav:

Naučíme sa načítavať vstupy z klávesnice. Vytvoríme program, ktorý pozdraví používateľa jeho menom.

Vytvoríme si nový projekt a v ňom prázdnu triedu s názvom Pozdrav. Program bude pozostávať z dvoch častí: z načítania reťazca a jeho výpisu na obrazovku. Budeme používať metódu načítajReťazec, túto metódu máme definovanú v triede Konzola, takže opäť si našu novú triedu Pozdrav prepojíme s Konzolou.

Algoritmus tohto programu vyzerá nasledovne:

public static void main(String[] args)
{
      System.out.println("Ahoj. Ako sa voláš?"); // vypíše výzvu
      reťazec = vstup.readLine(); // priradí zadanú hodnotu premennej
      System.out.println("Ahoj " + reťazec + ". Rád ťa spoznávam."); // výpis pozdravu
}

Výpis System.out.println("Ahoj " + reťazec + ". Rád ťa poznávam."); funguje tak, že program znaky v úvodzovkách jednoducho priamo vypíše kým pri premennej reťazec vypíše jej obsah. Jednotlivé reťazce sú spojené znamienkom plus.

Po preložení a spustení programu sa nás opýta na meno a potom pozdraví podľa zadaného mena. Výstup vyzerá nasledovne:

Meno/heslo:

Na tomto príklade si metódu equals a metódu equalsIgnoreCase. Metóda equals je metódou pre priradenie reťazca, metóda equalIgnoreCase znamená ignoruj veľkosť písmen.

Program vyzerá takto:

public static void main(String[] args)
{
      String meno = načítajReťazec("Zadaj meno"); // do premennej meno načíta zadané meno – použije metódu načítajReťazec z triedy Konzola
      String heslo = načítajReťazec("Zadaj heslo");

      if (meno.equalsIgnoreCase("adam") && heslo.equals("tajne")) // vyhodnocujem podmienku, či zadané meno sa rovná menu "adam", pričom vďaka príkazu IgnoreCase ignorujeme veľkosť písmen a súčasne porovná, či zadané heslo sa rovná reťazcu "tajne", v tomto prípade však záleží aj na veľkosti písmen!
      {
          System.out.println("Vitaj!"); // podmienka je splnená, program vypíše "Vitaj"
      }
      else
      {
          System.out.println("Zlé meno alebo heslo!"); // výpis v prípade nesplnenia podmienky
      }
}

Takto napísaný program nám vyhodnotí ako správne zadané meno "adam" "ADAM" "Adam" "adaM" alebo akokoľvek inak napísané meno adam (bez úvodzoviek). Avšak heslo musí byť napísané jediným spôsobom: "tajne" (bez úvodzoviek) akokoľvek inak zadané heslo, program vyhodnotí ako chybné a vypíše hlásenie z vetvy else.

Úlohy na precvičenie:

Napíš program, ktorý vypíše používateľove celé meno a koľko má rokov, keď zadá rok narodenia:
Program naprogramujte tak, aby si postupne od používateľa vypýtal meno, priezvisko a rok narodenia. Na výstupe bude veta typu: Ahoj Jožko Mrkvička, máš 20 rokov.

(Tip: Nezabúdajte, že na načítanie mena a priezviska použijete načítanie pre reťazec a pre rok narodenia načítanie celého čísla. Na výpočet veku používateľa použite jednoduchú matematickú operáciu.)


Koľko dní má ktorý mesiac:
Program po zadaní čísla mesiaca vypíše používateľovi koľko dní ma daný mesiac. V prípade zle zadaného čísla o tom podá hlásenie používateľovi.

(Tip: Použite vetvenie switch. A nezabudnite na prepojenie s triedou Konzola.)