Wypełnienie tablicy losowymi liczbami

0

Witam, mam problem z zadaniem z tablicami w javie i nie wiem jak je naprawić. Od razu napisze że po prostu przechodzę z c++ na jave stąd możliwy problem. Na pewno coś jest nie tak m.in. tutaj tab[i]=Math.random() % 100;
Z góry dzięki za pomoc.

Utwórz 20 elementowa tablice zmiennych typu int i wypełnij elementy od
indeksu 0 do 18 losowymi wartościami. Następnie w środek tablicy wstaw element o
wartości

public class Zadanie3 {

public static void main(String[] args) {

int[] tab = new int[20];
System.out.println(" Losuje wartosci ");
for(int i=0;i<=18;++i){
tab[i]=Math.random() % 100;
}
int x = 10; // indeks "srodkowego" elementu
System.out.println("Przesuwam elementy aby zrobic miejsce na wstawienie 1");
for(int i = 18;i>=x;--i){
   tab[i+1] = tab[i];
}

System.out.println("Wstawiam srodkowy element ");
tab[x]= 1;



System.out.println("Wyswietlam tablice");
for(int i=0;i<20;++i){
   System.out.println(i+" -> "+tab[i]);
}
return;}

}
0

Metoda Math.random() zwraca liczby typu double. Zamiast niej, użyj metody nextInt() z klasy Random.

0

Chyba pomyliłeś języki. Modulo z randoma używasz w C++. Math.rand() zwraca wartość (0 ... 1).

Random rand = new Random();
rand.nextInt(max-min+1)+min;

lub

Math.random() * ((max - min) + 1)

Jeśli ma to być int, musisz wykonać rzutowanie (int).

1 użytkowników online, w tym zalogowanych: 0, gości: 1