Stránka 1 z 1

Java začátečník , generátor náhodnych čísel - pole

Napsal: 05 říj 2012 17:55
od hokiii
Zdravím , mám takový problémek , začínám s javou a úkol do školy zněl že mám udělat generátor náhodných čisel , čisla aby byla v intervalu <1,20> (což je první problém bylo mi to vysvětleno způsobem

pole[i]=(int)(Math.random()*10+1); - toto mám v cyklu for , ale důležité je že toto mi generuje čisla 1-10,ale nevím jak udělat čísla 1-20

druhá vec je že mám toto vygenerovat do pole , což mám ale mám udělat logickou metodu , které zajistí aby čísla byla stejná ... což vůbec netuším jak

celé zadání zní

Sestavte program, který pole o n prvcích naplní celými náhodnými čísly z intervalu <1,20>.
*Pokud bude do n načteno číslo menší nebo rovno nule, opakujte načítání.
Při naplňování pole zajistěte, *aby se do pole neuložila stejná čísla. Pro zjištění duplicity sestavte vlastní
logickou metodu.
*Vytiskněte každé vygenerované číslo a vypočítejte, kolik bylo nutné vygenerovat čísel, aby se naplnilo n prvkové pole.
*Výsledné pole vytiskněte a nabídněte možnost celý výpočet opakovat

Re: Java začátečník , generátor náhodnych čísel - pole

Napsal: 05 říj 2012 18:01
od Layo
Random rand = new Random();
int pickedNumber = rand.nextInt(20) + 1;

nebo to tvoje
pole[i]=(int)(Math.random()*20+1);

Ta 20 znamená, že to generuje 0-19 a to +1 přidá jedno aby to bylo 1-20.

Re: Java začátečník , generátor náhodnych čísel - pole

Napsal: 05 říj 2012 18:20
od hokiii
super no a jak zajistím v metodě , aby pole bylo naplněno nestejnými čísly?

zatím mám zhruba toto

public static void main (String[] args)
{
Scanner sc = new Scanner(System.in);
int a[];
int n = 0;

do {
System.out.print("Zadej pocet prvku pole: ");
n = sc.nextInt();
} while(n <=0);

a = new int[n];


System.out.print("Generovaná čísla jsou: ");
for (int i = 0; i < a.length; i++)
{
a[i] =(int)(Math.random()*20+1);
System.out.print(a[i]+ " ");
}

}}

Re: Java začátečník , generátor náhodnych čísel - pole

Napsal: 05 říj 2012 18:25
od Layo
Nevím, programovat vůbec neumím.