Avatar
Jan Demel
Redaktor
Avatar
Jan Demel:

Čaute, jsem začátečník v Javě. Ještě nedávno jsem něco dělal v C# a vidím, že to jsou skoro stejné jazyky. Mám tu ale menší problém.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication2;
import java.util.Scanner;

/**
 *
 * @author HonDemik
 */
public class JavaApplication2 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in, "Windows-1250");


        for (int i = 0; i<5; i++)
        {
            int cislo = Integer.parseInt(sc.nextLine());
            int vysledek = vysledek + cislo;

            System.out.println(vysledek);

        }
    }
}

Prosím, upoutejte své pohledy na řádek int vysledek = vysledek + cislo;.
Můžete mi vysvětlit, proč mi to v NETBeans ten druhý výsledek červeně podtrhuje ?

Chtěl jsem docílit programu, který bude přičítat čísla.

Editováno 23.6.2013 22:01
Odpovědět 23.6.2013 21:59
To co se zdá být nemožné, je vždy možné.
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Jan Demel
Petr Nymsa:

Jelikož se snažíš do in vysledek přiřadit neexistující / neinicializovanou proměnnou vysledek tak to skončí chybou :). Stačí přeci dát

int vysledek = cislo;

ale lepší bude rovnou tohle

System.out.println(cislo);
Nahoru Odpovědět 23.6.2013 22:02
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Jan Demel
Redaktor
Avatar
Jan Demel:

No chtěl jsem to udělat ale tak, že se ty čísla budou neustále přičítat k sobě ;) Třeba napíšu 2, potom 3 a ukáže mi to 5. potom napíšu zase 4 a ono to ukáže 9 ;)

Nahoru Odpovědět 23.6.2013 22:03
To co se zdá být nemožné, je vždy možné.
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Jan Demel
Petr Nymsa:

Tak int vysledek nejdříve incializuj před cyklem for

int vysledek = 0
Nahoru Odpovědět 23.6.2013 22:04
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Kit
Redaktor
Avatar
Odpovídá na Jan Demel
Kit:

Protože v tom řádku používáš proměnnou výsledek (vpravo od rovnítka) ještě před deklarací (vlevo od rovnítka). Prostě takhle ti to fungovat nebude a ani fungovat nemá.

Nahoru Odpovědět 23.6.2013 22:05
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Demel
Redaktor
Avatar
Odpovídá na Petr Nymsa
Jan Demel:

Dík moc ;) Už to funguje :)

Nahoru Odpovědět 23.6.2013 22:06
To co se zdá být nemožné, je vždy možné.
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 6 zpráv z 6.