Valentínska akcia je tu! Získaj až 80 % extra kreditov ZADARMO na náš interaktívny e-learning. 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:
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Зайчик
Člen
Avatar
Зайчик:13.5.2013 17:55

hoj jeden týpek mi poslal zdrojový kód protože maturuje z programování a chtěl pomoct, pote co jsem viděl ukázkový zdrojový kód od jeho UČITELE programování jsem ho poslal do .... :) no nic přeju hodně smíchu při čtení kódu.

-> kousíček z konverzace :) fascinující že někdo takový maturuje z programování. (Napsal jsem mu srovnání jmen podle abecedy ta hrůza přišla až potom)

on : už to máš?
já : jo
on : pošli zdroják :)
já : Program.cs -> soubor byl úspěšně odeslán
on : co je to public void?:)
já : si snad děláš pr*el ne?
on : to je něco jako read line ne?
já : ...

a teď už slíbený zdroják

using System;

namespace Soustava_dvou_rovnic
{
  class Program
  {
    public static void Main(string[] args)
    {
        Console.Title = "Řešení soustavy dvou rovnic";

//Vstup hodnot koeficientů - program řeší i varianty s nulou zadanou za a1, za a2

Zadani:
   Console.WriteLine("");
   Console.Write(" Zadej koeficienty 1. rovnice: a1 = ");
   double a1 = Convert.ToDouble(Console.ReadLine());
   Console.Write("                               b1 = ");
   double b1 = Convert.ToDouble(Console.ReadLine());
   Console.Write("                               c1 = ");
   double c1 = Convert.ToDouble(Console.ReadLine());
   Console.WriteLine("");
   Console.Write(" Zadej koeficienty 2. rovnice: a2 = ");
   double a2 = Convert.ToDouble(Console.ReadLine());
   Console.Write("                               b2 = ");
   double b2 = Convert.ToDouble(Console.ReadLine());
   Console.Write("                               c2 = ");
   double c2 = Convert.ToDouble(Console.ReadLine());
   Console.WriteLine("");Console.WriteLine("");
   Console.WriteLine("---------------------------------------------------");
   Console.WriteLine("");

/Výpis soustavy rovnic
   double x;
   double y;

if (b1<0)
   Console.WriteLine("           {0,3} x  - {1,2} y  =  {2,2}", a1, -b1, c1);
else
   Console.WriteLine("           {0,3} x  + {1,2} y  =  {2,2}", a1, b1, c1);

if (b2<0)
   Console.WriteLine("           {0,3} x  - {1,2} y  =  {2,2}", a2, -b2, c2);
else
   Console.WriteLine("           {0,3} x  + {1,2} y  =  {2,2}", a2, b2, c2);

   Console.WriteLine("          ________________________");

//Řešení pro a1 = 0 - proměnná y

if (a1 == 0)
{
   Console.WriteLine("                    {0,2} y  =  {1,2}", b1, c1);
   Console.WriteLine("                       y  =  {0,2:F2}", c1/b1);
   Console.WriteLine("                     ===============");

   y = c1 / b1;

 //Řešení pro a1 = 0 - proměnná x

   Console.WriteLine(""); Console.WriteLine("");

 if (b2 < 0)
    Console.WriteLine("           {0,3} x  - {1,2} y  =  {2,2}", a2, -b2, c2);
 else
    Console.WriteLine("           {0,3} x  + {1,2} y  =  {2,2}", a2, b2, c2);

 if (b2 * y < 0)
    Console.WriteLine("           {0,3} x  -  {1,2:F2} =  {2,2}", a2, -b2 * y, c2);
 else
    Console.WriteLine("           {0,3} x  +  {1,2:F2} =  {2,2}", a2, b2 * y, c2);

    Console.WriteLine("                   {0,3} x  =  {1,2:F2}", a2, c2 - b2 * y)
    Console.WriteLine("                       x  =  {0,2:F2}", (c2 - b2 * y) / a2);
    Console.WriteLine("                     ===============");

    x = (c2 - b2 * y) / a2;

    Console.WriteLine(""); Console.WriteLine("");

goto Vysledek;

//Řešení pro a1 = 0 - proměnná y

if (a2 == 0)
 {
   Console.WriteLine("                    {0,2} y  =  {1,2}", b2, c2);
   Console.WriteLine("                       y  =  {0,2:F2}", c2/b2);
   Console.WriteLine("                     ===============");

   y = c2 / b2;

//Řešení pro a1 = 0 - proměnná x

   Console.WriteLine(""); Console.WriteLine("");

   if (b1 < 0)
      Console.WriteLine("           {0,3} x  - {1,2} y  =  {2,2}", a1, -b1, c1);
   else
      Console.WriteLine("           {0,3} x  + {1,2} y  =  {2,2}", a1, b1, c1);

   if (b1 * y < 0)
      Console.WriteLine("           {0,3} x  -  {1,2:F2} =  {2,2}", a1, -b1 * y, c1);
   else
      Console.WriteLine("           {0,3} x  +  {1,2:F2} =  {2,2}", a1, b1 * y, c1);

      Console.WriteLine("                   {0,3} x  =  {1,2:F2}", a1, c1 - b1 * y);
      Console.WriteLine("                       x  =  {0,2:F2}", (c1 - b1 * y) / a1);
      Console.WriteLine("                     ===============");

      x = (c1 - b1 * y) / a1;

      Console.WriteLine(""); Console.WriteLine("");
      goto Vysledek;
 }


// - proměnná y

if (a2*b1 < 0)
   Console.WriteLine("           {0,3} x  - {1,2} y  =  {2,2}", a1 * a2, -a2 * b1, a2 * c1);
else
   Console.WriteLine("           {0,3} x  + {1,2} y  =  {2,2}", a1 * a2, a2 * b1, a2 * c1);

if (-a1*b2 < 0)
   Console.WriteLine("           {0,3} x  - {1,2} y  =  {2,2}", -a1 * a2, -(-a1 * b2), -a1 * c2);
else
   Console.WriteLine("           {0,3} x  + {1,2} y  =  {2,2}", -a1 * a2, -a1 * b2, -a1 * c2);

   Console.WriteLine("          ________________________");

   Console.WriteLine("                    {0,2} y  =  {1,2}", a2 * b1 - a1 * b2, a2 * c1 - a1 * c2);
   Console.WriteLine("                       y  =  {0,2:F2}", (a2 * c1 - a1 * c2)/(a2 * b1 - a1 * b2));
   Console.WriteLine("                     ===============");

   y = (a2 * c1 - a1 * c2) / (a2 * b1 - a1 * b2);

//proměnná x
   Console.WriteLine(""); Console.WriteLine("");

if (b1 < 0)
   Console.WriteLine("           {0,3} x  - {1,2} y  =  {2,2}", a1, -b1, c1);
else
   Console.WriteLine("           {0,3} x  + {1,2} y  =  {2,2}", a1, b1, c1);

if (b1*y < 0)
   Console.WriteLine("           {0,3} x  -  {1,2:F2} =  {2,2}", a1, -b1 * y, c1);
else
   Console.WriteLine("           {0,3} x  +  {1,2:F2} =  {2,2}", a1, b1 * y, c1);
   Console.WriteLine("                   {0,3} x  =  {1,2:F2}", a1 , c1 - b1 * y);
   Console.WriteLine("                       x  =  {0,2:F2}", (c1 - b1 * y) / a1);
   Console.WriteLine("                     ===============");

   x = (c1 - b1 * y) / a1;

   Console.WriteLine(""); Console.WriteLine("");

Vysledek:

//Výpis výsledku

   Console.Write("                 ");
   Console.BackgroundColor = ConsoleColor.Cyan;
   Console.WriteLine(" [x; y] = [{0,2:F2}; {1,2:F2}] ",x , y);

//Nové zadání příkladu

   Console.ResetColor();
   Console.WriteLine(""); Console.WriteLine("");

   Console.Write("   Nové zadání? a/n: ");

   string a = Console.ReadLine();

if (a == "a")
 {
   Console.Clear();
   goto Zadani;
 }

   Console.ReadKey(true);

    }
  }
}
Odpovedať
13.5.2013 17:55
Коммунизм для нашего будущего!
Avatar
Michal Žůrek - misaz:13.5.2013 17:59

Já jsem to nebyl...

Nicméně i to je na mě moc. A vím co zanamená public void.

ALe zajímavé. Doufám že na učitele, který nevysvětlí ani public void na školách nenarazím.

 
Hore Odpovedať
13.5.2013 17:59
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Зайчик
David Hartinger:13.5.2013 18:03

Njn, české státní školy :D

Hore Odpovedať
13.5.2013 18:03
New kid back on the block with a R.I.P
Avatar
Зайчик
Člen
Avatar
Odpovedá na David Hartinger
Зайчик:13.5.2013 18:04

A já blbec nadávám na našeho učitele, který nerad používá enum. :D Díky bohu za něj.

Hore Odpovedať
13.5.2013 18:04
Коммунизм для нашего будущего!
Avatar
Michal Žůrek - misaz:13.5.2013 18:12

Já sem rád že máme devbook, můžu se tu doučit co nevím. Jen doufám že pak na střední nebudu chytřejší než učitel :D

Enum, neEnum podle mě má nějaké nevýhody (minimálně v javě, mi něco nešlo), jinak je samozřejmě využitelný v hodně případech a (i když nějaké ty mouchy podle mě má) ho používám celkem často.

 
Hore Odpovedať
13.5.2013 18:12
Avatar
Зайчик
Člen
Avatar
Odpovedá na Michal Žůrek - misaz
Зайчик:13.5.2013 18:14

já o žádných mouchách nevím :D teď si šlápnul do bláta :D jaký má mouchy? Kor v javě? :D

Hore Odpovedať
13.5.2013 18:14
Коммунизм для нашего будущего!
Avatar
Odpovedá na Michal Žůrek - misaz
Neaktivní uživatel:13.5.2013 18:16

Když enum použiješ k tomu, k čemu slouží tak podle mě žádné nevýhody nemá, zkus nějaké jmenovat :)

Hore Odpovedať
13.5.2013 18:16
Neaktivní uživatelský účet
Avatar
Odpovedá na Зайчик
Neaktivní uživatel:13.5.2013 18:16

sakra, byl jsi rychlejší :D

Hore Odpovedať
13.5.2013 18:16
Neaktivní uživatelský účet
Avatar
Michal Žůrek - misaz:13.5.2013 18:47

Nevím proč, ale nějak mi to nešlo naparsrovat ze stringu, něco se mu na tom nelíbilo.

public static void main(String[] args) {
        neco n = neco.necoval1;
        neco nn = "necoval3";
}
enum neco
{
        necoval1,
        necoval2,
        necoval3
}

u neco nn se něco javě nelíbí :(

 
Hore Odpovedať
13.5.2013 18:47
Avatar
Homo
Člen
Avatar
Odpovedá na Michal Žůrek - misaz
Homo:13.5.2013 18:51

To je jasny ze se ji neco nelibi, kdyz tragede do enumu cpes String :-D

Hore Odpovedať
13.5.2013 18:51
1010011 1000101 1011000
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovedá na Зайчик
Honza Bittner:13.5.2013 19:18

Ti vážně napsal maturant "co je to public void ?:)"

Tak to je síla :)

Hore Odpovedať
13.5.2013 19:18
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Odpovedá na Homo
Michal Žůrek - misaz:13.5.2013 19:21

jistě a řešení?

 
Hore Odpovedať
13.5.2013 19:21
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na Зайчик
Petr Nymsa:13.5.2013 19:23

Fajn, na zdejší škole bych měl odmaturováno úspěšně asi ve třetím měsíci prváku :D... ach ano, státní školy :) , jsem rád že na ní nechodím

Hore Odpovedať
13.5.2013 19:23
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovedá na Petr Nymsa
Honza Bittner:13.5.2013 19:24

No ... bohužel někdo nemá tu příležitost :)

Hore Odpovedať
13.5.2013 19:24
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na Michal Žůrek - misaz
Petr Nymsa:13.5.2013 19:25

Myslím že v Javě by to mělo být stejný, ale nevím to jistě, přiřadíš mu prostě enum ;) tj neco.neconova3

Hore Odpovedať
13.5.2013 19:25
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Homo
Člen
Avatar
Odpovedá na Michal Žůrek - misaz
Homo:13.5.2013 19:27

Reseni si musis napsat. Priklad z jednoho meho zdrojaku:

public static enum Repeat{
        NONE, DAILY, MONTHLY, YEARLY;

        public static Repeat getRepeat(String repeat){
            switch (repeat) {
                case "Daily":
                    return DAILY;
                case "Monthly":
                    return MONTHLY;
                case "Yearly":
                    return YEARLY;
                default:
                    return NONE;
            }
        }

        public String toString(){
            switch (this) {
                case DAILY:
                    return "Daily";
                case MONTHLY:
                    return "Monthly";
                case YEARLY:
                    return "Yearly";
                default:
                    return "NONE";
            }
        }
    }

Pak staci jen:

Repeat r = Repeat.getRepeat("Daily");
Hore Odpovedať
13.5.2013 19:27
1010011 1000101 1011000
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na Honza Bittner
Petr Nymsa:13.5.2013 19:30

Jasný a já to beru :) Netvrdím že všechny školy jsou na tom špatně, naopak jsou i dobré STÁTNÍ ! školy, bohužel te´d každá druhá škola si cpe i obor IT a pak to takhle vypadá. Viděl jsem školu, která byla číšník / kuchař a měla i obor Ekologie a informační technologie, to potom o něčem vypovídá ;). Ale když se jde na školu, která se zaměřuje na IT + Stroje jak je běžné, myslím že to bude celkem fajn :)

Hore Odpovedať
13.5.2013 19:30
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Зайчик
Člen
Avatar
Odpovedá na Honza Bittner
Зайчик:13.5.2013 19:38

vážně :) no ... od severních Čech radši ruce pryč ;)

Hore Odpovedať
13.5.2013 19:38
Коммунизм для нашего будущего!
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovedá na Petr Nymsa
Lukáš Hruda:13.5.2013 19:49

Všeobecně jsou na tom soukromé školy mnohem hůře než státní. Jsou výjimky a pokud navštěvuješ jednu z nich, tak ti to přeji, ale 90% soukromým školám jde jenom o zisk, nechají tě projít za nic, hlavně že platíš, co na tom žes ve škole byl 3x za pololetí, a nenaučí tě vůbec nic.
Jinak u náš na škole taky maturujeme z programování, ale jenom teorie, třičtvrtě třídy neví jak deklarovat proměnnou. I když to je asi tím, že jsem zaměřeni hlavně na sítě, u těch máme i praktickou část a obávám se, že to nebude sranda :D

 
Hore Odpovedať
13.5.2013 19:49
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na Lukáš Hruda
Petr Nymsa:13.5.2013 19:55

Čekal sjem tento dotaz nebo spíše komentář na otázku soukromá škola a maturita v kapse. A ano máš zcela pravdu a ano jsem na škole která je vyjímkou :). Máme zde mnoho skvělých učitelů, kteří učí nejen C#javau,C,C++ ale i Assemblery a spoustu jiných. Špičkové vybavení také, velmi dobré učitele na sítě, jak jsem psal dřív, naše škola je jedním ze školících center CCNA, máme tedy akreditované intruktory. Když nechceš u nás na škole dělat, naučíš se víc než na jiných a když se naučíš projdeš, když en, neprojdeš :). Je to klasická škola, která ti dává hromadu příležitostí. Škola hodně silně spolupracuje s Microsoftem, nesutálé nabídky od firem, soutěže ... ale dost, prostě se školou jsem hodně spokojený a asi jeden z mála do školy i rád chodím :)

Hore Odpovedať
13.5.2013 19:55
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Petr Nymsa
Tvůrce
Avatar
Petr Nymsa:13.5.2013 20:04

Btw "Když nechceš u nás na škole dělat, naučíš se víc než na jiných a když se naučíš projdeš, když en, neprojdeš" jsem napsal špatně ! :D ... když sám nebudeš dělat něco navíc, naučíš se i tak spoustu ale nebudeš v tom až tak dobrý, známe to všichni. A je to škola, kde prostě také záleží jestli umíš nebo ne. Platíme za vzdělání, vybavení ne za maturitu :)

Hore Odpovedať
13.5.2013 20:04
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovedá na Petr Nymsa
Lukáš Hruda:13.5.2013 20:06

Já chodím na státní školu (nebo spíše chodil), Cisco tu máme taky a naučil jsem se toho tu o sítích opravdu hodně. Programování tu máme sice taky jako plnohodnotný předmět, ale nenaučil jsem se na něm vůbec nic, všechno co umím jsem se nějak naučil sám.

 
Hore Odpovedať
13.5.2013 20:06
Avatar
TomBen
Tvůrce
Avatar
Odpovedá na Lukáš Hruda
TomBen:13.5.2013 20:07

Problém je obvykle v tom, že se ke vzdělání přistupuje jako k povinnosti.
Všichni to chápou jako vstupenku a jak si ji seženeš se jeví vedlejším.
Dokonce to vypadá, že kdo něco získá bezpracně je vlastně ten lepší.
Chce to méně studentů a více pracantů. Pak úroveň studia může alespoň
potenciálně vzrůst. Momentálně nemůže, protože čistě selskou logikou
by mohlo každému dojít, že se nedá třicet demotivovaných lidí něco
násilím naučit, když de facto nechtějí. A to se týká jakýchkoli škol,
které z libovolného důvodu dopustí velký počet studentů.

Hore Odpovedať
13.5.2013 20:07
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovedá na TomBen
Honza Bittner:13.5.2013 20:24

Přesně tak :) ...

Hore Odpovedať
13.5.2013 20:24
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovedá na TomBen
Lukáš Hruda:13.5.2013 20:26

Velký počet studentů je proto, že maturita (či výuční list) je dnes považována za samozřejmost, bez které je v podstatě nemožné si najít slušnou práci. Lidé v podstatě nemají jinou možnost než studovat, ať už cokoliv, jen aby měli ten papír, protože bez něj jsou nic. Je jim jedno jak se k němu dostanou a jestli se při tom něco naučí. Podle mě za to můžou hloupé požadavky zaměstnavatelů. Vždyť už i bakalář je dnes v některých oborech samozřejmost. Přitom nějaký papír vůbec nevypovídá o tom co člověk umí.

 
Hore Odpovedať
13.5.2013 20:26
Avatar
TomBen
Tvůrce
Avatar
Odpovedá na Lukáš Hruda
TomBen:13.5.2013 20:43

Tohle neštěstí mají z větší části na svědomí nadnárodní firmy s jejich
personalistickými metodami zaměřenými na vytěžení talentů.
Školství reaguje na jejich výběrová řízení a požadavky lacinějším
poskytováním potřebných papírů a pak je problém najít pekaře, který
se učil péct chleba a opravdu pak peče chleba. Fakt nestojím o to,
aby uměl derivovat, když neumí kůrku do křupava.

Hore Odpovedať
13.5.2013 20:43
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovedá na TomBen
Lukáš Hruda:13.5.2013 20:53

To je pravda. Spousta firem sice raději přijme někoho kdo má praxi než někoho kdo má titul, jenže k tomu abys získal praxi stejnak musíš nejdřív mít ten titul, aby tě někde vzali a tam jsi tu praxi získal. Školy dnes praxi už v podstatě vůbec neposkytují.

 
Hore Odpovedať
13.5.2013 20:53
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Lukáš Hruda
David Hartinger:13.5.2013 20:54

Než firma někoho přijme, vezme si ho na kobereček a zeptá se ho na spoustu pojmů. Titul nikoho nezajímá a nepotřebuješ ho ani k získání praxe.

Editované
Hore Odpovedať
13.5.2013 20:54
New kid back on the block with a R.I.P
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovedá na David Hartinger
Lukáš Hruda:13.5.2013 21:02

Ale spousta firem má titul uvedený jako požadavek. Většinou tam mají třeba buďto bakalář v určitém oboru nebo 2 roky praxe a podobně...

 
Hore Odpovedať
13.5.2013 21:02
Avatar
TomBen
Tvůrce
Avatar
Odpovedá na David Hartinger
TomBen:13.5.2013 21:03

Jo, nejvíc je zajímalo kde bydlím. Teprve potom jsem se dostal
k člověku, který kladl odborné otázky. Bez praxe nebo titulu
pravděpodobně na odborné otázky ani nedojde. :-)

Hore Odpovedať
13.5.2013 21:03
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Odpovedá na Lukáš Hruda
Drahomír Hanák:13.5.2013 21:03

My teď náhodou máme praxe. Je to dobrá věc, ale spousta lidí bude jen klikat tabulky v excelu. Když něco umíš, praxi si uděláš i bez titulu ;)

 
Hore Odpovedať
13.5.2013 21:03
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Lukáš Hruda
David Hartinger:13.5.2013 21:08

V Česku chybí IT pracovní síla, firmy si mohou těžko diktovat a pokud to některé nedochází, tak má smůlu. VŠ má každá lama co dělá v Excelu, nic to neznamená.

Hore Odpovedať
13.5.2013 21:08
New kid back on the block with a R.I.P
Avatar
TomBen
Tvůrce
Avatar
Odpovedá na Lukáš Hruda
TomBen:13.5.2013 21:09

Jo a to je taky vtipné. Požadavky v inzerátech. :D
Aby náhodou nebyl personalista nařčen, že pouští do firmy neumětely,
vypisuje do požadavků cokoli, co kde zaslechl. Ono to přece nebude
na škodu, že..
Proto má mnohem větší šanci člověk drzý, než člověk šikovný.

Hore Odpovedať
13.5.2013 21:09
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Homo
David Hartinger:13.5.2013 21:18

Teda... proč to neuděláš přes konstruktor? 8|

Hore Odpovedať
13.5.2013 21:18
New kid back on the block with a R.I.P
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na TomBen
David Hartinger:13.5.2013 21:19

Ano, všechno umím, všechno znám určitě bude fungovat :D

Hore Odpovedať
13.5.2013 21:19
New kid back on the block with a R.I.P
Avatar
Homo
Člen
Avatar
Odpovedá na David Hartinger
Homo:13.5.2013 21:20

Jak to myslis? :-)

Hore Odpovedať
13.5.2013 21:20
1010011 1000101 1011000
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Homo
David Hartinger:13.5.2013 21:27

Psal jsem o tom v tutoriálu: http://www.itnetwork.cz/…-a-konstanty

public enum StavObjednavky {
    Nova ("Nová objednávka"),
    Prijata ("Objednávka byla přijata ke zpracování"),
    Potvrzena ("Objednávka byla potvrzena"),
    Dokoncena ("Zboží bylo expedováno");

    private String text;

    StavObjednavky(String text)
    {
        this.text = text;
    }

    @Override
    public String toString()
    {
        return text;
    }
}
Hore Odpovedať
13.5.2013 21:27
New kid back on the block with a R.I.P
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Homo
David Hartinger:13.5.2013 21:28

Kdykoli vidím u někoho použít switch, tak je to špatně. Některé konstrukce bych pro jistotu z jazyka vyndal. Ale lidé si asi stejně vždycky najdou cestu jak použít něco špatně.

Hore Odpovedať
13.5.2013 21:28
New kid back on the block with a R.I.P
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na David Hartinger
Petr Nymsa:13.5.2013 21:33

Co je až tak špatného na switchi ? Pokud mám třeba dejme tomu 6 stavů, raději si napíš swtich, přijde mi přehlednější než if,else if :)

Hore Odpovedať
13.5.2013 21:33
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovedá na David Hartinger
Lukáš Hruda:13.5.2013 21:33

Switch je dobrá věc, ten bych nevyndaval :D

 
Hore Odpovedať
13.5.2013 21:33
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na Lukáš Hruda
Petr Nymsa:13.5.2013 21:39

Na druhou stranu, můžeme použít hub :D a nebo se rovnou píchneme na router ne ? Internet na směny :D

Hore Odpovedať
13.5.2013 21:39
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovedá na Petr Nymsa
Lukáš Hruda:13.5.2013 21:44

Hub místo switche? Kde to žiješ, 100 let za opicema? :D

 
Hore Odpovedať
13.5.2013 21:44
Avatar
Homo
Člen
Avatar
Odpovedá na David Hartinger
Homo:13.5.2013 21:47

Jo to me napadlo taky, jenze tu nejdulezitejsi cast to neresi kvuli ktere jsem sem daval ten kod.

public static Repeat getRepeat(String repeat){
             switch (repeat) {
                 case "Daily":
                     return DAILY;
                 case "Monthly":
                     return MONTHLY;
                 case "Yearly":
                     return YEARLY;
                 default:
                     return NONE;
             }
         }
Hore Odpovedať
13.5.2013 21:47
1010011 1000101 1011000
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na Lukáš Hruda
Petr Nymsa:13.5.2013 21:59

To byla ironie ;) :D

Hore Odpovedať
13.5.2013 21:59
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovedá na Petr Nymsa
Lukáš Hruda:13.5.2013 22:15

Moje odpověď taky :D

 
Hore Odpovedať
13.5.2013 22:15
Avatar
Odpovedá na Petr Nymsa
Drahomír Hanák:13.5.2013 23:21

Špatné je na tom to, že ti vznikají stavy. V ideálním případě by neměly (to samozřejmě nejde vždy). Aplikace se tak může stát mnohem hůř rozšiřitelná. Proto jsou tu návrhové vzory. Některé stavovost aplikace přímo řeší (třeba Null object, state a další)

 
Hore Odpovedať
13.5.2013 23:21
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Homo
David Hartinger:14.5.2013 8:11

Ne, Enum má samozřejmě valueOf, celý ten tvůj prasekód, kde je každá hodnota napsaná 5x (spočítej si kolikrát tam máš daily) lze zapsat správně bez duplicit. Představ si tu enum se 100 hodnotami. Jakmile použijete někde switch, je velká pravděpodobnost, že máte něco špatně, jelikož takové větvení se v OOP nedělá.

Hore Odpovedať
14.5.2013 8:11
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Petr Nymsa
Kit:14.5.2013 11:06

Switch špatný není, špatné bývá jeho použití. Jako elegantní náhrada switche se nepoužívá if, ale enum. Samozřejmě to nejde vždy.

Na enum mi chybí možnost valueOf("+") apod. To jsou chvíle, kdy musím použít něco jiného, například switch.

Hore Odpovedať
14.5.2013 11:06
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Drahomír Hanák
Kit:14.5.2013 11:08

Stavy se někdy docela dobře hodí na tvorbu automatů, ale i to se dá dělat v enum.

Hore Odpovedať
14.5.2013 11:08
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na Drahomír Hanák
Petr Nymsa:14.5.2013 11:34

Napsal jsem stavy špatně, třeba mám v menu 4 tlačítka, a místo toho abych měl 4 metody, která je přihlášená k eventu Click, udělám jednu a přes ID tlačítka ve switchi rozhodnu co udělat... můžu dát tlačítku třeba delegáta, ale takhle mi to přijde i přehlednější

Hore Odpovedať
14.5.2013 11:34
Pokrok nezastavíš, neusni a jdi s ním vpřed
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é 50 správy z 55.