Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)
Avatar
Osel
Člen
Avatar
Osel:5.10.2013 14:22
udelej jidlo = new delamJidlo();
            Console.WriteLine("Napis pocet opakovani");
            int pocetZnaku = int.Parse(Console.ReadLine());
            for (int i = 0; i < pocetZnaku; i++)
                udelej.Varim();

Kde je chyba, že se mi to opakuje pouze jednou, přesto že zadám třeba 5? Už se tu s tím tápu pár hodin a určitě je to jen nějaká hloupost :`
Díky

 
Odpovědět  +1 5.10.2013 14:22
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Osel
Jan Vargovský:5.10.2013 14:29

Ukaž nám třídu delamJidlo a metodu Varim

 
Nahoru Odpovědět 5.10.2013 14:29
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Osel
Petr Nymsa:5.10.2013 14:32

Máš to toršku divoký. Nepředpokládám že jsi se dostal k dědičnosti takže co přesně znamená toto ?

udelej jidlo = new delamJidlo();

Nemělo by to být spíše

delamJidlo jidlo = new delamJidlo();

Dále dodržuj C# konvence, tj třída vždy velkým písmenem (češtinu prominu)
takže

DelamJidlo jidlo = new DelamJidlo();

to už je lepší, ovšem název je zavádějící, třída by spíše měla být Kuchař

Kuchar kuchar = new Kuchar();
// .........
kuchar.Varim();

Každopádně ukaž co tam čaruješ :)

Nahoru Odpovědět  +3 5.10.2013 14:32
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Osel
Člen
Avatar
Odpovídá na Jan Vargovský
Osel:5.10.2013 14:37

EDIT : Nahoře mam omylem mezeru, má to být udelejJidlo, viz níže

class udelejJidlo
    {
            public void Varim()
            {
                Console.WriteLine("Varim špagety");
            }

Chci jen prostě, aby to opakovalo metodu Varim a psalo dokola "Varim spagety" kolikrát uživatel zadá.

 
Nahoru Odpovědět 5.10.2013 14:37
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Osel
Honza Bittner:5.10.2013 14:40

proměnná pocetZnaku je taky trochu zavádějící, když jen převádíš číslici na číslo ...

pojmenovávej si vše dobře, až otevřeš kód klidně jen další den, nebudeš vědět co je co ... ;)

Nahoru Odpovědět  +1 5.10.2013 14:40
Student FIT ČVUT. Sleduj mě na https://twitter.com/tenhobi a zeptat na cokoli se mě můžeš na https://github.com/HoBi/...
Avatar
Osel
Člen
Avatar
Odpovídá na Honza Bittner
Osel:5.10.2013 14:42

Ok díky, ty názvy předělám, jak řikáte, aby to bylo dobře, teď jen jak na to opakování :` :D

 
Nahoru Odpovědět 5.10.2013 14:42
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Osel
Honza Bittner:5.10.2013 14:44

Pokud ti něco nefunguje, zkus vždy testovat.

do for cyklu dej tedy místo pocetZnaku nějaké číslo, třeba tu tvojí 5tku ...
Pokud ti 5x vypíše "Varim špagety" chybu máš v proměnné, pokud ne, chybu máš jinde.

Nahoru Odpovědět 5.10.2013 14:44
Student FIT ČVUT. Sleduj mě na https://twitter.com/tenhobi a zeptat na cokoli se mě můžeš na https://github.com/HoBi/...
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Osel
Petr Nymsa:5.10.2013 14:45

Až na tu pochybnou deklaraci instance nevidím "nic špatně"

Nahoru Odpovědět 5.10.2013 14:45
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Osel
David Čápka:5.10.2013 14:45

To máš doma nějaký objekt, které se jmenuje "udelejJidlo"? Já mám doma tedy mikrovlnku a přítelkyni. Nikdy mě nepřestane překvapovat, jak zde píšete hlouposti místo abyste si přečetli prvních pár článků.

Nahoru Odpovědět  +3 5.10.2013 14:45
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Osel
Kit:5.10.2013 14:48

Na ty konvence si zvykni, jinak budeš ve fórech neustále narážet na nepochopení, co je třída, co je instance a co je metoda.

Názvy tříd snad ve všech programovacích jazycích začínají velkým písmenem. Příklad tedy má začínat

class UdelejJidlo

nebo jak už naznačil Petr Nymsa, zkus pochopit, že ten druh zaměstnance, který pracuje v kuchyni a vytváří jídlo, se nenazývá "UdelejJidlo", ale "Kuchař". Tedy správně

class Kuchar { ... }

Když pak vytváříš instanci, vypadá to třeba takto:

Kuchar pepa = new Kuchar("Pepa");
pepa.Varim();
Nahoru Odpovědět 5.10.2013 14:48
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na David Čápka
Michal Žůrek (misaz):5.10.2013 14:48

kdyby nic nepsali, tak je toto fórum o 50% méně vytížené.

Nahoru Odpovědět  ±0 5.10.2013 14:48
Nesnáším {}, proto se jim vyhýbám.
Avatar
Snorlax
Redaktor
Avatar
Odpovídá na David Čápka
Snorlax:6.10.2013 11:24

taková rada: sporák uvaří lepší jídlo :D

Nahoru Odpovědět 6.10.2013 11:24
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
Kit
Redaktor
Avatar
Odpovídá na Snorlax
Kit:6.10.2013 11:39

BTW: Bez sporáku a mikrovlnky se dá vařit. Bez nože však jen stěží...

Nahoru Odpovědět 6.10.2013 11:39
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Snorlax
Redaktor
Avatar
Odpovídá na Kit
Snorlax:6.10.2013 11:41

tale i bez nože.... krájenej chleba prodávaj a namažu ho lžící :D

Nahoru Odpovědět 6.10.2013 11:41
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
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 14 zpráv z 14.