Часто сталкиваюсь с проблемой понимания кода, вернее его написания. Когда вроде бы читаешь и понимаешь какая строка что делает, а сам такое повторить почему то не можешь. Но проблемы проблемами, а задачи нужно решать, и так Дан двумерный массив размером 5х6, заполненный случайным образом. Заменить максимальный элемент каждой строки на противоположный. Написал что-то вроде этого
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int m,n,i,j;
System.out.print("Введите количество строк = ");
m = in.nextInt();
System.out.print("Введите количество столбцов = ");
n = in.nextInt();
int[][] mass = new int[m][n]; // создание массива
for (i=0;i<m;i++) {
for (j=0;j<n;j++) {
mass [i][j]=(int) (Math.random()*(20)+1);}}
for (i=0;i<n;i++){
for (j=0;j<n;j++){
System.out.printf("%d ",mass[i][j]);
}
System.out.println(""); // его заполнение и вывод
}
int max, maxi = 0;
for(i=0;i<n;i++) {
max = mass[i][0];
if (mass[i][0]>=max){
max = mass[i][0];
maxi=i; // тут постарался найти максимальный элемент чтобы в будущем заменить
}
}
}
}
Далее, как я понимаю, нужно найти еще и минимальный элемент, чтобы в будущем maxi заменить на mini, но как это сделать?(К сожалению сейчас не могу попробовать тк нет под рукой нетбинса) может примерно так?
int min, mini = 0;
for(i=0;i<n;i++) {
min = mass[i][0];
if (mass[i][0]<=min) {
min = mass[i][0];
mini = i;
и потом просто max = min? а вывести это как? Заранее спасибо за ответ, и просто тем, кто прочел эту гору текста