Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 10. diel - Cyklus for v Jave

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Odpovedá na Atrament
Petr Vopalecký:6.2.2017 10:55

Děkuji za jasné vysvětlení. :)
Tohle mi ale v javě příjde jako docela chytáček...

Avatar
Atrament
Člen
Avatar
Odpovedá na Petr Vopalecký
Atrament:6.2.2017 11:24

Je to taková malá záludnost :) Načítat vstup od uživatele mi přijde lepší dělat jenom pomocí nextLine() a případná čísla z toho pak parsovat podle potřeby

float vaha = Float.parseFloat(sc.nextLine());
Avatar
Vincent Jakl
Člen
Avatar
Vincent Jakl:18.3.2017 11:41
Scanner sc = new Scanner(System.in, "Windows-1250");
System.out.println("Vítejte v kalkulačce");
System.out.println("Zadejte prvni cislo");
float a = Float.parseFloat(sc.nextLine());
System.out.println("Zadejte druhou hodnotu");
float b = Float.parseFloat(sc.nextLine());
System.out.println("Vyberte si operaci");
System.out.println("1.Sčítání");
System.out.println("2.Násobení");
System.out.println("3.Odčítání");
System.out.println("4.Dělení");
int vyber= Integer.parseInt(sc.nextLine());
float vysledek = 0;
switch (vyber)
{
    case:1
            vysledek = a +b;
    break;
    case:2
            vysledek = a*b;
    break;
    case:3
            vysledek = a-b;
    break;
    case:4
            vysledek = a/b;
    break;
}

Mohl bych se zaptat proč mi nefunguje case?

Editované
Avatar
Vincent Jakl
Člen
Avatar
Odpovedá na Vincent Jakl
Vincent Jakl:18.3.2017 11:44

Tak jsem jenom blbej a neumim koukat :D

Avatar
Libor Sitek
Člen
Avatar
Libor Sitek:14.5.2017 14:25

Ahoj, mám za sebou základy Javy z tutoriálu. Docela často se zde používá načítání vstupu od uživatele pomocí metody .nextLine() a případné číslo z toho pak parsovat, např.

int a = Integer.parseInt(sc.nextLine());

Problém ale nastane, když se na vstupu zadá něco jiného než číslo, program poté spadne. Dá se nějak jednoduše ověřit, zda uživatel zadal číslo a popřípadě vypsat hlášku typu "Chybné zadání, opakujte znovu"?
Jediný způsob, na jaký jsem s mými omezenými znalostmi přišel, je obalit parsování do Try-Catch bloku:

int cislo;
boolean chyba;
do {
        System.out.println("Zadejte číslo: ");
        try {
                cislo = Integer.parseInt(sc.nextLine());
                chyba = false;
        }
        catch(Exception e) {
                System.out.println("Chybné zadání, opakujte znovu!");
                chyba = true;
        }
} while(chyba);
Odpovedať
Když se chce, hledá se jak, když se nechce, hledá se proč
Avatar
gcx11
Tvůrce
Avatar
Odpovedá na Libor Sitek
gcx11:17.5.2017 13:46

Máš to téměř dobře, akorát bys neměl chytat přímo Exception. Můžeš v tom mít nějakou jinou chybu a pak by ses o ní nedozvěděl. Lepší je použít specializovanou výjimku NumberFormatEx­ception.
Anebo bez výjimek:

while (!sc.hasNextInt()){
     System.out.println("Please enter a valid number!");
     sc.next();
}
int result = sc.nextInt();
System.out.println("Number: " + result);
Avatar
David Švec
Člen
Avatar
David Švec:14.6.2017 20:12

Myslím, že je jednoduší použít funkci power na umocnění :D

Scanner sc = new Scanner(System.in, "Windows-1250");
        System.out.println("Napiš číslo, které chceš umocnit: ");
        float a = Float.parseFloat(sc.nextLine());
        System.out.println("Napiš exponent: ");
        float b = Float.parseFloat(sc.nextLine());
        System.out.println(Math.pow(a,b));
Avatar
Michal Athanasios Devecka:23.6.2017 19:41

programik ktory nacita cislo, overi ci sa nachadza toto cislo v prvkoch prvych 50 prvkov Fibonacciho postupnosti a ak ano, vypise vsetky predchadzajuce prvky

import java.util.Scanner;

// author Mishco

public class Matika {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in, "Windows-1250");
System.out.print ("Zadaj ľubovoľné číslo: ");
int cislo = Integer.parseInt (sc.nextLine () );

int[] fn = new int [50];
fn [0] = 0; fn [1] = 1;

switch (cislo) {
case 0: System.out.println ("Vami zadané číslo je prvým prvkom Fibonacciho postupnosti");
case 1: fn [2] = 1; System.out.println ("Vami zadané číslo je druhým prvkom Fibonacciho postupnosti. Postupnost je nasledovná: 0 + 1 = 1");

default:
for (int i = 2; i < 50; i++) {
fn [i] = fn [i-1] + fn [i-2];

if (cislo == fn [i]) {
System.out.printf ("Toto sú predchádzajúce čísla postupnosti od %d: ", cislo);
for (int j=0; j<i; j++) {
System.out.printf ( "%d +",fn [j]);

}
}
if (cislo < fn [i] ) {
System.out.prin­tln("Vami zadané číslo sa nenachádza v prvých 48 číslach Fibonacciho postupnosti");
break;
}
}
}

}}

Avatar
MiroslavP
Člen
Avatar
MiroslavP:17.11.2017 20:13

Java mne baví :-) , je to díky výbornému tutoriálu ITnetwork. M

Avatar
Michal Martinec:5.1.2018 20:28

mam jednu otazku, mozno debilnu tak dopredu pardon :)

co ten cyklus v mocninatore vlastne urobi?
nakolko nechapem ked je tam:
for(int i = 0; i < (n - 1); i++)
vysledok = vysledok * a;

nechapem co to realne urobi, kedze premennu "i" v zatvorkach nepouzivam...... Mozno je to tym ze sa dnes ucim od rana a je 20:30 :D ale neide mi to do hlavy. Prosim o vysvetlenie. Dakujem

Odpovedať
Neporovnavaj sa s ostatnymi. Porovnavaj sa sam so sebou.
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 153.