Я ищу, чтобы полностью поменять содержимое двух массивов, а не свопировать целые числа внутри массива, но через два. Я просто очень смущен относительно того, с чего начать.Обмен двух 2D-массивов целых чисел
т.е. ...
Matrix a = 1 2 3 Matrix b = 3 2 1
4 5 6 6 5 4
Я желаю ему вывести в
Matrix a = 3 2 1 Matrix b = 1 2 3
6 5 4 4 5 6
Если это имеет смысл. Сожалею! Мой код ниже для начальной части создания массива и заполнения его Random, я не включил тестер, потому что я просто вводил, какой массив использовать для вычисления, и я еще не готов это сделать.
import java.util.Random;
public class Matrix {
private int[][] matrix;
private int rows;
//constructors
public Matrix() {
matrix = new int[3][3];
rows = 3;
}
public Matrix(int size) {
matrix = new int[size][size];
rows = size;
}
//Mutators
public void fill() {
Random r = new Random();
for (int i = 0; i < this.rows; i++) {
for (int j = 0; j < this.rows; j++) {
this.matrix[i][j] = r.nextInt();
}
}
}
public void clear() {
for (int i = 0; i < this.rows; i++) {
for (int j = 0; j < this.rows; j++) {
this.matrix[i][j] = 0;
}
}
}
public static void swap(Matrix a, Matrix B) {
}
}
Первая проблема: ваш код использует квадратные матрицы, когда ваша демонстрация не квадратная. Исправьте это. Для самой подкачки используйте временный массив с размером, равным количеству строк, которые у вас есть. Затем вы можете: temp = a; a = b; b = temp; ' –
Можете ли вы иметь временные переменные? (Случай, если это не является (имо глупым) упражнением, где это запрещено) –
Да, переменные temp хороши, это было на самом деле намного проще, чем я ожидал, что я думал в строке какого-то сумасшедшего цикла, который меняет элементы на один. Спасибо за ввод – NikoBellic