NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
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 – Lekce 8 - Podmínky (větvení) v Javě

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Kuba
Člen
Avatar
Odpovídá na Maroš Škumát
Kuba:7.5.2017 19:38

Ahoj, ještě tu mám jeden dotaz k podmínkám.. nenašel jsem jak lze určit podmínku zadání číselné hodnoty do vstupu.
Pokud uživatel např. v kalkulačce zadá písmenko, hodí program error. Rád bych si to nějak podchytil a vypsal při chybném zadání vlastní hlášku a případně nabídl uživateli nový pokus, aniž by shodil program. Napadla mě podmínka

if (pocet <= 0 || pocet >= 0 && i <= 0 || i >= 0){
.
.
.
.
}
        else {
            System.out.println("Zadal jsi neznámou hodnotu!");
        }

        System.out.println("Chceš zadat novou soutavu prvků? napiš ano/ne");
        pokracovat = sc.nextLine().toLowerCase().trim();

Což samozřejmě nefunguje :), resp. programu to nevadí, ale účel to neplní.

Díky za tip!

 
Odpovědět
7.5.2017 19:38
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na Kuba
gcx11:8.5.2017 19:25

Asi bys potřeboval něco takového:

while (!sc.hasNextInt()){
     System.out.println("Please enter a valid number!");
     sc.next();
}
int result = sc.nextInt();
System.out.println("Number: " + result);
Editováno 8.5.2017 19:26
 
Odpovědět
8.5.2017 19:25
Avatar
Arny
Člen
Avatar
Arny:21.6.2017 22:36

Ahoj, poradí mi někdo proč nejde tento program:

Scanner sc = new Scanner(System.in, "Windows-1250");
 System.out.println ("Zadej své jméno");
 String s = sc.nextLine();
 int a = (s.length());
 if ((a <= 3 ) && (a >= 10))
 {
     System.out.println ("Máš moc dlouhé nebo moc krátké jméno");
 }
 else
 {
     System.out.println ("Máš normální jméno");
 }

 }
 
Odpovědět
21.6.2017 22:36
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na Arny
gcx11:22.6.2017 2:17

Máš tam

if ((a <= 3 ) && (a >= 10))

místo

if ((a <= 3 ) || (a >= 10))
 
Odpovědět
22.6.2017 2:17
Avatar
Arny
Člen
Avatar
Odpovídá na gcx11
Arny:22.6.2017 7:20

To jsem ... Díky

 
Odpovědět
22.6.2017 7:20
Avatar
Adam Bucher
Člen
Avatar
Adam Bucher:2.7.2017 8:18

Taková matematická maličkost, ze které by však kdejaký učitel matematiky bláznil :)
Odmocnina z 0 je 0 - sqrt(0) je normálně definováno.

 
Odpovědět
2.7.2017 8:18
Avatar
Maroš Škumát:24.7.2017 20:03

Neviete prečo mi to vždy vyhodí chybu keď to spúšťam?

package vetvenie4;
import java.util.Scanner;

/**
 *
 * @author GamePC
 */
public class Vetvenie4 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       Scanner sc = new Scanner(System.in,"Windows-1250");
       System.out.println("Zadaj číslo buď - 10 až 20, 30 až 50, 60 až 90, 150 až 300, 700 až 1000:");
       int a = Integer.parseInt(sc.nextLine());
       if ((a >= 10) && (a <= 20)) || ((a >= 30) && (a <= 50)) || ((a >= 60) && (a <= 90)) || ((a >= 150) && (a <= 300)) || ((a >= 700) && (a <=1000))
       {

       System.out.println("Zadal si správne!");

       }
       else

       {
               System.out.println("Zadal si nesprávne!");
       }
    }


}
 
Odpovědět
24.7.2017 20:03
Avatar
Daniel Šup
Člen
Avatar
Odpovídá na Maroš Škumát
Daniel Šup:24.7.2017 20:55

Ahoj,

chybu ti to vyhodí z důvodu chybějící kulaté závorky těsně po klíčovém slově if a chybějící závorky těsně před složenou závorkou.
Máš tam

if ((a >= 10) && (a <= 20)) || ((a >= 30) && (a <= 50)) || ((a >= 60) && (a <= 90)) || ((a >= 150) && (a <= 300)) || ((a >= 700) && (a <=1000))
       {

místo

if (((a >= 10) && (a <= 20)) || ((a >= 30) && (a <= 50)) || ((a >= 60) && (a <= 90)) || ((a >= 150) && (a <= 300)) || ((a >= 700) && (a <=1000)))
       {
 
Odpovědět
24.7.2017 20:55
Avatar
 
Odpovědět
24.7.2017 23:31
Avatar
Michal Stisek:28.7.2017 16:55

Chci se zeptat jestli konstrukci else if mám chápat jako jinou funkci než samotné if a else, nebo je to jen prosté spojení těchto podmínek? Ještě se chci zeptat jestli uvažuju správně, když si myslím že do prvního if jde vnořit další konstrukce if/else a do nich další a tím vytvořit "strom" požadavků/podmínek pod tímto prvním if a stejně tak i u else? Nemám teď u sebe IDE a nemůžu to otestovat, tak si čtu a učím se :-) Díky

Editováno 28.7.2017 16:57
Odpovědět
28.7.2017 16:55
Jít pořád dál má smysl
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 10 zpráv z 149.