Problém s polem (přiřazení indexu hodnotu) – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Problém s polem (přiřazení indexu hodnotu) – Java – Fórum – Programujte.comProblém s polem (přiřazení indexu hodnotu) – Java – Fórum – Programujte.com

 

Lintner.T
~ Anonymní uživatel
6 příspěvků
30. 11. 2011   #1
-
0
-

Zdravím,
řeším problém, který se mi nedaří vyřešit. Mám: [code]Deklarace: private int mnozstvi[]; a final static int min_mnozstvi = 10;

Tělo jedné metody: mnozstvi = new int[] {min_mnozstvi, min_mnozstvi, min_mnozstvi, min_mnozstvi, min_mnozstvi, min_mnozstvi};

Metodu: public void vypisMnozstviMinci()
    {
        for (int i = 0; i < mnozstvi.length; i++)
        {
            System.out.println("Mincí o nominální hodnotě " + i + ",- Kč " + "je v automatu celkem " + mnozstvi[i] + " kusů.");
        }
    }[/code]
Teď k problému. Metoda mi vypisuje index a množství na daném indexu. Snažím se o to, aby nebyl vypisován index, ale hodnota. Pro i = 0, vypsat hodnotu 1. Pro i = 1, vypsat hodnotu 2. Pro i = 2, vypsat hodnotu 5... Řešil bych to pomocí for-each cyklu a podmínek. Bohužel se mi nedaří dostat na správný výsledek. Poradí někdo jak docílit tíženého výsledku?

Nahlásit jako SPAM
IP: 160.217.136.–
KIIV
~ Moderátor
+43
God of flame
30. 11. 2011   #2
-
0
-

proc nemas nekde pole s "prekladem" ? das mu index 0 tak bude mit na tom indexu 1 ...

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Lintner.T
~ Anonymní uživatel
6 příspěvků
30. 11. 2011   #3
-
0
-

Můžete prosím rozvést co po mě chcet? Mám Javu 1. semestr, takže moc netušim.

Nahlásit jako SPAM
IP: 160.217.136.–
KIIV
~ Moderátor
+43
God of flame
30. 11. 2011   #4
-
0
-

prekladove pole:

preloz[0] = 1;

preloz[1] = 2;

preloz[2] = 5;

preloz[3] = 10;

pak jen nebudes vypisovat  + i +  ale:   + preloz[i] +

(mimochodem tenhle princip nema s tim ze mas Javu prvni rok naprosto nic spolecneho - je to obecne reseni, fungujici kdekoliv (samozrejme spravne zapsane v ruznych jazycich))

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Lintner.T
~ Anonymní uživatel
6 příspěvků
30. 11. 2011   #5
-
0
-

Děkuji za odpověď. Bohužel to je vůbec moje první setkání s programovacím jazykem (když nepočítám základy HTML).

Nahlásit jako SPAM
IP: 160.217.136.–
KIIV
~ Moderátor
+43
God of flame
30. 11. 2011   #6
-
0
-

nepocitej, HTML neni vubec programovaci jazyk :D

u programovani je zaklad znat co ten jazyk vlastne letmo umi (nejaky zaklady jazyka, poli, promennejch)

a pak zkusit myslet jako pocitac... (tj. nepamatujes si NIC co nemas ulozene, pokud ulozis na stejne misto neco jineho stare tim okamzite zapomenes, neumi delat vic veci naraz (pokud nepocitame vlakna), jede po jednoduchych prikazech (vedet co ty prikazy umi))  - proste si umet predstavit, jak by to mohl pocitac resit, aby se dokazal propocitat ke spravnemu vysledku  (zaklady algoritmizace) - a uplne dulezite - neudela to nic co mu presne nereknes...

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Lintner.T
~ Anonymní uživatel
6 příspěvků
30. 11. 2011   #7
-
0
-

Je mi to jasný, že to chce vlastní iniciativu (zabývat se problémem i doma, ne jen ve škole). O to se snažím. Logicky to dám dohromady, jak by to mělo fungovat (co, proč, jak). Bohužel chybí praxe, takže pořádně nevím, jak to zapsat. Ale věřím, že se to postupem času zlepší

Nahlásit jako SPAM
IP: 90.181.8.–
werixon0
Návštěvník
30. 11. 2011   #8
-
0
-

#7 Lintner.T
Asi se zeptam hloupe, ale co to ma konkretne delat?? Me to neni moc jasny......kdyz tak sem dej cely zdrojak.

Nahlásit jako SPAM
IP: 88.102.175.–
Lintner.T
~ Anonymní uživatel
6 příspěvků
30. 11. 2011   #9
-
0
-

Jedná se o zápočtový projekt, jehož cílem je naprogramovat "funkční" automat na nápoje. Teprve s tím začínám, zatím se peru se třídou reprezentující "trezor" automatu. Kód je zde:


/**
 * Třída reprezentující trezor automatu
 * 
 * @author Tomáš Lintner
 * @version 1.0 (28.11.2011)
 */
public class Trezor
{
    // instanční proměnné
    // private int mnozstvi1, mnozstvi2, mnozstvi5, mnozstvi10, mnozstvi20, mnozstvi50; // počet mincí dané hodnoty
    final static int min_mnozstvi = 10; // minimální množství mincí dané hodnoty
    private int mnozstvi[]; 
    private int hodnota[];
    
    /**
     * Vytvoření trezoru s minimálním počtem mincí
     */
    public Trezor()
    {
        /*mnozstvi1 = min_mnozstvi;
        mnozstvi2 = min_mnozstvi;
        mnozstvi5 = min_mnozstvi;
        mnozstvi10 = min_mnozstvi;
        mnozstvi20 = min_mnozstvi;
        mnozstvi50 = min_mnozstvi;*/
        mnozstvi = new int[] {min_mnozstvi, min_mnozstvi, min_mnozstvi, min_mnozstvi, min_mnozstvi, min_mnozstvi};
    }
    
    /**
     * Metoda pro přidání daného počtku mincí
     * @param mnozstvi Množství, které chceme přidat
     * @param hodnota Nominální hodnota, které chceme mince přidat
     */
    /*public void pridat1(int mnozstvi)
    {
        mnozstvi1 += mnozstvi;
        System.out.println("Počet 1,- Kč mincí v automatu byl navýšen na " + mnozstvi1 + ".");
    }*/
    
    /**
     * Metoda pro odebrání daného počtku mincí
     * @param mnozstvi Množství, které chceme odebrat
     */
    /*public void vybrat1(int mnozstvi)
    {
        String pom;
        if ((mnozstvi1 - mnozstvi) < min_mnozstvi) // je-li (aktuální mnozství - odebírané množství) < (minimální možné množství) ...
        {
            if ((mnozstvi1 - min_mnozstvi) == 1) // je-li (maximální odebírané množství) = 1 ...
            {
                pom = "minci";
            }
            else // je-li (maximální odebírané množství) > 1 ...
            {
                if (((mnozstvi1 - min_mnozstvi) > 1) && ((mnozstvi1 - min_mnozstvi) < 5)) // je-li (maximální odebírané množství) = 2, nebo 3 či 4 ...
                {
                    pom = "mince";
                }
                else // je-li (maximální odebírané množství) > 4 ...
                {
                    pom = "mincí";
                }
            }
            System.out.println("Nelze z automatu odebrat " + mnozstvi + "x 1,- Kč, nezbylo by dostatečné množství pro vracení. Maximálně můžete odebrat "
                + (mnozstvi1 - min_mnozstvi) + " " + pom + ".");
        }
        else // je-li (aktuální mnozství - odebírané množství) => (minimální možné množství) ...
        {
            mnozstvi1 -= mnozstvi;
            System.out.println("Bylo odebráno " + mnozstvi + "x 1,- Kč. K dispozici je ještě " + mnozstvi1 + "x 1,- Kč.");
        }
    }*/

    
    /**
     * Výpis částky v automatu + její vyjádření pomocí minci v nominálních hodnotách.
     */
    /*public void info()
    {
        for (int i = 0; i < mnozstvi.length; i++)
        {
        }
        System.out.println("V automatu je celkem " + hotovost + " Kč." + "Z toho: " + mnozstvi1 + "x 1,- Kč, " + mnozstvi2 + "x 2,- Kč, " 
            + mnozstvi5 + "x 5,- Kč, " + mnozstvi10 + "x 10,- Kč, " + mnozstvi20 + "x 20,- Kč, " + mnozstvi50 + "x 50,- Kč, ");
    }*/
    
    public void vypisMnozstviMinci()
    {
        hodnota = mnozstvi;
        hodnota[0] = 1;
        hodnota[1] = 2;
        hodnota[2] = 5;
        hodnota[3] = 10;
        hodnota[4] = 20;
        hodnota[5] = 50; 
        for (int i = 0; i < mnozstvi.length; i++)
        {
            System.out.println("Mincí o nominální hodnotě " + hodnota[i] + ",- Kč " + "je v automatu celkem " + mnozstvi[i] + " kusů.");
        }
    }
}
Nahlásit jako SPAM
IP: 90.181.8.–
werixon0
Návštěvník
30. 11. 2011   #10
-
0
-

Ta metoda vypisMnozstviMinci() se mi zda v poradku. Postni sem cely main.

Nahlásit jako SPAM
IP: 88.102.175.–
Lintner.T
~ Anonymní uživatel
6 příspěvků
30. 11. 2011   #11
-
0
-

To je prozatím vše co mám. Teprve na tom začínám pracovat

Nahlásit jako SPAM
IP: 90.181.8.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 42 hostů

Podobná vlákna

Problém s polem — založil milanbartax

Problem s polem — založil Tomik

Problém s polem — založil Axik

Problém s polem — založil renet

Problém s polem — založil K4BlOs

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý