Můj první program - Java – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Můj první program - Java – Java – Fórum – Programujte.comMůj první program - Java – Java – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Radek
~ Anonymní uživatel
121 příspěvků
11. 11. 2014   #1
-
0
-

Ahoj,
Jsem začínající a učím se Javu..
Jen bych měl problem zde máte Code :

public class retezec {

   public static void main(String[] args) {
      float a = 10.0f;
      float b = 5.0f;
      float soucet = a - b;
      if(soucet == 5.0) {
         for(float c = 0; c < 20; c++) {
            if(c <= 0) {
               System.out.println("Povedlo se");
            } else {
               System.out.println("ERROR");
            }
         }
      } else {
         System.out.println("ERROR");
      }
   }

}


Je to čistě můj výmysl.. sám nevím jak jsem na to přišel, ale mělo by to pracovat tak, že pokud se čísla znásobí zdělí (dělení tam nemam, ani to nasobení) tak aby to napsalo že se to povedlo, a pokud je číslo větší jak 20 tak aby to napsalo ERROR...

Povedlo se
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR

To 1. "Povedlo se" to tam má být, ale ten error už ne..
Jo.. a taky aby to tam nebylo vícekrát..

Nahlásit jako SPAM
IP: 195.122.213.–
Reklama
Reklama
Roman
~ Anonymní uživatel
113 příspěvků
11. 11. 2014   #2
-
0
-

#1 Radek
Mas blbe vnoreny if c<=0. pak se vypise povedlo se, pouze jednou. V druhem pruchodu for uz je c >0.

Nahlásit jako SPAM
IP: 178.72.217.–
Kit+11
Guru
11. 11. 2014   #3
-
0
-

#1 Radek
Máš tam chybnou konstantu v podmínce. Místo 

if (c <= 0)

 by asi mělo být

if (c <= 20)

Jinak by to chtělo zapracovat na kultuře psaní programu v Javě. Názvy tříd se píší s velkým písmenem na začátku, když do proměnné dáváš rozdíl, tak bys ji neměl pojmenovat "soucet" a řídící proměnná cyklu se obvykle dělá ordinálního typu - např. int. Za klíčovými slovy se píše mezera, tedy i za "if" a za "for".

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:7569:...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Radek
~ Anonymní uživatel
121 příspěvků
11. 11. 2014   #4
-
0
-

Dobře děkuju, toho "součtu" jsem si všiml :-)


public class retezec {

    public static void main(String[] args) {
        float a = 10.0f;
        float b = 5.0f;
        float rozdil = a - b;
        if (rozdil == 5.0) {
            for (float c = 0; c < 1; c++) {
                if (rozdil < 19) {
                    System.out.println("Povedlo se");
                } else {
                    if (rozdil > 20)
                        System.out.println("ERROR");
                }
            }
        } else {
            System.out.println("ERROR");
            System.exit(0);
        }
    }

}

Takže takto ?

Nahlásit jako SPAM
IP: 195.122.213.–
lukas.balaz0
Super člen
11. 11. 2014   #5
-
0
-

#4 Radek
Sorry, ale o čo ti vlastne ide ?

máš tam cyklus, ktorý sa opakuje len jeden krát (noo, aj to je otázne, podľa toho, ako sa v jave správa float++, možno si to chcel napísať  for (int c = 0; c < 1; c++) ) ... takže ten cyklus je zbytočný. No a v tom cykle kontroluješ, či je 'rozdiel' menší ako 19 alebo väčší ako 20, ale tesne predtým maš podmienku, že do tejto časti kódu sa dostaneš, len ak 'rozdiel' sa rovná 5, takže vždy bude menší ako 19.

Takže ak ignorujem prvé 4 riadky, tak sa program len pozre, či 'rozdiel'==5 a ak áno vypíše "Povedlo se", inak vypíše "ERROR". Takže cyklus a podmienky sú zbytočné.

Napíš čo vlastne chceš aby to robilo.

Nahlásit jako SPAM
IP: 80.242.41.–
ingiraxo+15
Grafoman
11. 11. 2014   #6
-
0
-

#1 Radek
vůbec nerozumím o co se snažíš, pochopil jsem to tak, že když čísla A a B vynásobíš a výsledek bude >20, tak má něco vypsat?

int a = 10;
int b = 5;

if (a * b > 20) {
    System.out.println("Povedlo se");
} else {
    System.out.println("Error");
}
Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
sleepy
~ Anonymní uživatel
422 příspěvků
12. 11. 2014   #7
-
0
-

Neviem ci vobec pri floate ma zmysel c++, ked uz tak c+=1f.  To co ti ten kod bude robit je ze 20 krat za sebou napise povedlo se lebo rozdiel je konstantny.

Nahlásit jako SPAM
IP: 158.195.201.–
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, 38 hostů

Podobná vlákna

Muj první pokus — založil Mar.ko

Můj program — založil Dominik Rozporka

První MVC web v Java EE — založil bluray

Moderátoři diskuze

 

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