Stránka 1 z 1
Pomoc s javou, náhodný den v týdnu
Napsal: 06 pro 2012 19:06
od eda220
Dobrý den, dělám si cvičení do školy z Javy (v NetBeansech). Mám vytvořit metodu, která vrátí náhodný den v týdnu.
Vím, že mám chybu někde již v podmínkách, ale navíc mi to hází chybu i u hlavní metody. Poradil byste někdo ? Děkuji
► Zobrazit spoiler
package b13Nahodnyden;
import java.util.Random;
public class b13Nahodnyden {
}
void den1(int x){
Random random = new Random();
int x = random.nextInt(7)+1;
if (int x == 1){
System.out.println("Podnělí");
}
if (int x ==2) {
System.out.println("Utery");
}
if (int x ==3) {
System.out.println("Streda");
}
if (int x == 4) {
System.out.println("Ctvrtek");
}
if (int x == 5) {
System.out.println("Patek");
}
if (int x == 6) {
System.out.println("Sobota");
}
if (int x == 7) {
System.out.println("Nedele");
}
}
public static void main(String[] args) {
b13Nahodnyden den1 = new b13Nahodnyden();
b13Nahodnyden.den(0);
}
}
Re: Pomoc s javou, náhodný den v týdnu
Napsal: 06 pro 2012 19:24
od faraon
Nebylo by místo toho
if if if lepší použít jeden
switch?
Re: Pomoc s javou, náhodný den v týdnu
Napsal: 06 pro 2012 19:30
od eda220
Zkusím to, switch jsme zatím neprobírali. A ještě, co mám špatně v té hlavní metodě jak volám metodu den1 ? Díky
Re: Pomoc s javou, náhodný den v týdnu
Napsal: 07 pro 2012 08:45
od CZechBoY
protože to voláš přes třídu nikoliv přes instanci třídy..
použij den1.den(0);
máš tam překlep u Pondělí...
já bych tohle udělal přes pole na 2 řádky, no což, nějak se začít musí :-)
rozhodně je však lepší použít if-else if než if if if if if if if (haha faraone, napsal jsem o jeden if víc a ještě k tomu stejnej počet

)
Re: Pomoc s javou, náhodný den v týdnu
Napsal: 08 pro 2012 06:40
od faraon
Tak pokud je každá větev toho switche ukončená breakem, tak se chová v podstatě stejně jako
if else if, akorát je to mnohem přehlednější.
Ještě by se dalo použít pole stringů, a číslem dne rovnou ukázat na jeho název

Re: Pomoc s javou, náhodný den v týdnu
Napsal: 12 pro 2012 16:45
od eda220
Děkuji všem moc za radu, nakonec jsem to vyřešil takto, sice složitě, ale funguje :
► Zobrazit spoiler
package b13Nahodnyden;
import java.util.Random;
public class b13Nahodnyden {
public static void main(String[] args) {
Random random = new Random();
int x = random.nextInt(7) + 1;
if (x == 1) {
System.out.println("Pondělí");
}
if (x == 2) {
System.out.println("Utery");
}
if (x == 3) {
System.out.println("Streda");
}
if (x == 4) {
System.out.println("Ctvrtek");
}
if (x == 5) {
System.out.println("Patek");
}
if (x == 6) {
System.out.println("Sobota");
}
if (x == 7) {
System.out.println("Nedele");
}
}
}
Re: Pomoc s javou, náhodný den v týdnu
Napsal: 12 pro 2012 16:50
od CZechBoY
co tam je složitýho?
dej tam if + else if
Re: Pomoc s javou, náhodný den v týdnu
Napsal: 12 pro 2012 21:53
od eda220
Hmm, a jak by se změnil kód při použití else ? Děkuji
Re: Pomoc s javou, náhodný den v týdnu Vyřešeno
Napsal: 12 pro 2012 22:34
od CZechBoY
if + else if
Kód: Vybrat vše
package b13Nahodnyden;
import java.util.Random;
public class b13Nahodnyden {
public static void main(String[] args) {
Random random = new Random();
int x = random.nextInt(7) + 1;
if (x == 1) {
System.out.println("Pondělí");
}
else if (x == 2) {
System.out.println("Utery");
}
else if (x == 3) {
System.out.println("Streda");
}
else if (x == 4) {
System.out.println("Ctvrtek");
}
else if (x == 5) {
System.out.println("Patek");
}
else if (x == 6) {
System.out.println("Sobota");
}
else if (x == 7) {
System.out.println("Nedele");
}
}
}
switch
Kód: Vybrat vše
package b13Nahodnyden;
import java.util.Random;
public class b13Nahodnyden {
public static void main(String[] args) {
Random random = new Random();
int x = random.nextInt(7) + 1;
switch(x) {
case 1:
System.out.println("Pondělí");
break;
case 2:
System.out.println("Utery");
break;
case 3:
System.out.println("Streda");
break;
case 4:
System.out.println("Ctvrtek");
break;
case 5:
System.out.println("Patek");
break;
case 6:
System.out.println("Sobota");
break;
case 7:
System.out.println("Nedele");
break;
default:
System.out.printIn("Tento den neznam");
break;
}
}
}
přes pole
Kód: Vybrat vše
package b13Nahodnyden;
import java.util.Random;
public class b13Nahodnyden {
public static void main(String[] args) {
Random random = new Random();
int x = random.nextInt(7) + 1;
String[] dny = {"Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"};
if(x > 0 && x <= 7) {
System.out.printIn(dny[x-1]);
} else {
System.out.printIn("Tento den neznam");
}
}
}
Re: Pomoc s javou, náhodný den v týdnu
Napsal: 13 pro 2012 21:08
od eda220
Děkuji, ten else if bych ještě zvládnul. V poli se vyznám, jen switch zatím neznám, ale vypadá to zajímavě. Snad se to časem naučíme. Díky všem, uzavírám.