Anonymní profil hokii – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil hokii – Programujte.comAnonymní profil hokii – Programujte.com

 

Příspěvky odeslané z IP adresy 78.45.231.–

hokii
Java › Java začátečník , generátor…
5. 10. 2012   #164191

#4 Šťouchal
no dobře , ale nevím jakym zpusobem to zapsat ... dělam v tom pár dní ...postup ktery měl podle mě fungovat nefungoval ... takže nevím příkazy co a jak ...

public static int kontrolaDuplikace (int[] pole)
{
int generace = 1;
int dupl = 0;
while (generace > 0)
{
generace = 0;
for (int i = 0 ;  i < pole.length ; i++)
{ for (int j = 1 ; j <pole.length ;j++)
  { if (pole[i] == pole[j])
   { generace++;
    pole[i]=(int)(Math.random()*19+1);
    System.out.print(" " + pole[i]);
    dupl++; 
   }
  }
}
}
System.out.println("\nPocet celkove vygenerovanych čísel: " + (pole.length + dupl) );
return pole;
}

return pole mi samozřejmě nefunguje ... myslel jsem že to udělam tim zpusobem že porovnam čísla a když je nějake stejne tak vygeneruju jine , pokud generuju jine čislo tak do proměnne generace zapišu 1 , timpadem na začatku funkce zjistim jestli se čislo měnilo (udělam znovu kontrolu) nebo ne ... vypišu čisla zpatky do mainu

hokii
Java › Java začátečník , generátor…
5. 10. 2012   #164184

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()*19+1);
  System.out.print(a[i]+ " ");
  }
 
  }}

hokii
Java › Java začátečník , generátor…
5. 10. 2012   #164174

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

 

 

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