Почему Math.Random выводит число -9 в матрице?

Мне необходимо сделать, чтоб числа в массив заполнялись случайными числами, но почему-то они заполняются только число -9, что необходимо исправить?

Задача кода выполнить данную задачу

Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов задан-ной матрицы размером 4 на 4. Найти сумму модулей элементов, расположенных выше главной диагонали

package javaapplication323;

public class JavaApplication323 {


public static void main(String[] args) {
  int n = 4;
  int[][] mas=new int[n][n];
  int locMin = 0;
  int sum = 0;
  int i,j;
  System.out.println("Исходная матрица:");
  for(i=0;i<n;i++){
    for(j=0;j<n;j++){
      mas[i][j]= (int)((Math.random() % 100 - 10));
      System.out.print(mas[i][j]+" " );
    } 
      System.out.println();
  }
   for(i=1;i<n-1;i++){
     for(j=1;j<n-1;j++){
       if((mas[i][j] < mas[i][j-1]) && (mas[i][j] < mas[i][j+1]) && (mas[i][j] < mas[i+1][j]) && (mas[i][j] < mas[i-1][j]))
       {
           System.out.println("String=" + i +1);
           System.out.println("Column=" + j +1);
           System.out.println("Min=" + mas[i][j]);
           System.out.println();
           locMin++;
       }
      }
   }
   System.out.println("LocMin =" + locMin);
   for(i=0;i<n;++i){
   for(j=i+1;j<n;j++){
       sum += Math.abs(mas[i][j]);
   }
   }
   System.out.println("Sum=" + sum);
  }
}

Ответы (1 шт):

Автор решения: entithat

Math.random() % 100 возвращает то же самое, что и просто Math.random(), потому что Math.random() генерирует числа от 0 до 1. В итоге от этого числа вы еще и убавляете 10, вот и выходит -9.

Чтобы числа генерировались в диапазоне, допустим, от 0 до 10 (не вкл), надо писать так: Math.random() * 10.

→ Ссылка