Diskuze: výpis usdých čísel v javě

Java Java výpis usdých čísel v javě

Aktivity (1)
Avatar
albertpatera
Redaktor
Avatar
albertpatera:24.3.2015 12:54

Ahoj,
mám dotaz, jak se dají vypsat v javě lichá čísla?
sudé jsou mi jasné.

for (int i = 25; i <= 50; i++)
        {
            System.out.print("-"+i*2+"-");
            if(i == 10)
            {
                System.out.println();
            }
            if(i == 20)
            {
                System.out.println();
            }
            if(i == 30)
            {
                System.out.println();
            }
            if(i == 40)
            {
                System.out.println();
            }
            if(i == 50)
            {
                System.out.println();
            }

a v případě lichých se

System.out.print("-"+i*2+"-");

nahradí něčím jiným. Čím? díky moc
//napadlo mě

System.out.print("-"+i*2+1+"-");

, ale to mi jaksi vypisuje tu jedničku před to daný číslo a normálně mi jí nepřičte. Díky

Editováno 24.3.2015 12:56
 
Odpovědět 24.3.2015 12:54
Avatar
Luboš Satik Běhounek
Autoredaktor
Avatar
Odpovídá na albertpatera
Luboš Satik Běhounek:24.3.2015 12:56

zkus třeba přičíst jedničku :)
EDIT: musíš to hodit do závorky celý ten výpočet

Editováno 24.3.2015 12:57
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 24.3.2015 12:56
:)
Avatar
albertpatera
Redaktor
Avatar
Odpovídá na Luboš Satik Běhounek
albertpatera:24.3.2015 13:00

ale vždyť ho mám v závorce, mohl by jsi mi poslat ukázku, jak to myslíš? zkoušel jsem tam dá dvě závorky, ale to mi vypsalo chybu

 
Nahoru Odpovědět 24.3.2015 13:00
Avatar
albertpatera
Redaktor
Avatar
Odpovídá na Luboš Satik Běhounek
albertpatera:24.3.2015 13:02

super, už to jde, díky

 
Nahoru Odpovědět 24.3.2015 13:02
Avatar
martinkobelka
Redaktor
Avatar
martinkobelka:24.3.2015 13:04

Najdi si něco o výsledku po celočíselnem dělení a použití v podmínkach. Kód zkrátíš na cca třetinu ;)

 
Nahoru Odpovědět 24.3.2015 13:04
Avatar
sunspinx
Člen
Avatar
sunspinx:24.3.2015 18:38

public static void main(String[] args) {
// TODO code application logic here
for (int x=0; x<=100; x++) {
if ((x%2) != 0) continue;
System.out.prin­tln("Parne Cisla do 100: " +x);
}
}

Toto mas parne cisla, neparne by si mohol urobit takto:

public static void main(String[] args) {
// TODO code application logic here
for (int x=0; x<=100; x++) {
if ((x%2) != 1) continue;
System.out.prin­tln("Parne Cisla do 100: " +x);
}
}

 
Nahoru Odpovědět 24.3.2015 18:38
Avatar
1Pupik1989
Člen
Avatar
1Pupik1989:24.3.2015 21:44

A co takhle prostě vyhodit tu podmínku a zvyšovat o dva?

for (int x=0; x<=100; x+=2) {
  //sudá
}

for (int x=1; x<=101; x+=2) {
  //lichá
}
 
Nahoru Odpovědět 24.3.2015 21:44
Avatar
sunspinx
Člen
Avatar
Odpovídá na 1Pupik1989
sunspinx:24.3.2015 21:57

Je vela moznosti ako to urobit :-)

 
Nahoru Odpovědět  +1 24.3.2015 21:57
Avatar
xxxvodnikxxx
Člen
Avatar
xxxvodnikxxx:24.3.2015 22:28

Použij modulo :) - operátor % - je to v podstatě zvytek po celočíselným dělení

  • např. 10%2 = 0 (sudá) 11%2 != 0 (==1) (lichá)
for (int i = 25; i <= 50; i++){
  if(i%10 == 0){ //každé desáté číslo
   System.out.print("i =" + i + " ");
    if(i%2 ==0){
      System.out.println("- sudé");  //println dělá na konci odřádkování - totožné jako print("\n")
    }else{
     System.out.println("- liché");
    }
  }
}

:o)

Editováno 24.3.2015 22:29
Nahoru Odpovědět 24.3.2015 22:28
Unix- svět, kde chcete být nulou :) (UID)
Avatar
1Pupik1989
Člen
Avatar
Odpovídá na sunspinx
1Pupik1989:24.3.2015 23:07

Proto jsem napsal tu nejjednoduší, kdyby se někdo v budoucnu po tom pídil. :)

Jen dodám, že sudé a liché se dá zjistit ještě binárním &.

Editováno 24.3.2015 23:08
 
Nahoru Odpovědět 24.3.2015 23:07
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 10 zpráv z 10.