Как правильно обьявить эти методы? Вот сама задача: Определить класс Matrix размерности (n x n). Объявить массив из m объектов. Передать объекты в метод, меняющий местами строки с максимальным и минимальным элементами k-го столбца. Вывести новые матрицы и номера строк. Решение как бы есть, но нужно эти три метода обьявить. Пожалуйста, не скидывайте ссылки на учебники, просто покажите как правильно обьявить эти методы, или один из них. Заранее спасибо)spoilerpublic void inputSize() throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter size: "); boolean correctInf; correctInf = false; while (correctInf != true) { try { n = Integer.parseInt(br.readLine()); while (n 0"); n = Integer.parseInt(br.readLine()); } correctInf = true; } catch (NumberFormatException e) { System.out.println("Error, please enter another element "); } } correctInf = false; }
public void InputNumberStolb() throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter nomer stolbca dlya sortirovki: "); boolean correctInf; correctInf = false; while (correctInf != true) { try { k = Integer.parseInt(br.readLine()); while (k = 0"); k = Integer.parseInt(br.readLine()); } correctInf = true; } catch (NumberFormatException e) { System.out.println("Error, please enter another element "); } } correctInf = false; }
public void inputElement()throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); matrix = new int[n][n]; boolean correctInf; System.out.println("Enter Main element: "); correctInf = false; for (int i = 0; i max) { for (int j = 0; j < n; j++) { max = matrix[i][j]; jmax = j; } } if (matrix[i][k] < min){ for (int j = 0; j < n; j++){ min = matrix[i][j]; jmin = j; } } matrix[i][jmin] = max; matrix[i][jmax] = min;
} for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++){ System.out.print(matrix[i][j] + "\t"); } System.out.println(); } }
Для данной задачи, следует объявить три метода в классе Matrix:
Метод для ввода размерности матрицы:
public void inputSize() throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter size: "); boolean correctInf; correctInf = false; while (correctInf != true) { try { n = Integer.parseInt(br.readLine()); while (n <= 0) { System.out.println("Error, please enter element > 0"); n = Integer.parseInt(br.readLine()); } correctInf = true; } catch (NumberFormatException e) { System.out.println("Error, please enter another element "); } } correctInf = false; }
Метод для ввода номера столбца для сортировки:
public void InputNumberStolb() throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter nomer stolbca dlya sortirovki: "); boolean correctInf; correctInf = false; while (correctInf != true) { try { k = Integer.parseInt(br.readLine()); while (k < 0) { System.out.println("Error, please enter element >= 0"); k = Integer.parseInt(br.readLine()); } correctInf = true; } catch (NumberFormatException e) { System.out.println("Error, please enter another element "); } } correctInf = false; }
Метод для сортировки матрицы по указанному столбцу:
public void sort(){ int jmax = 0; int max; int min; int jmin = 0; for(int i = 0; i < n; i++){ max = matrix[i][0]; min = matrix[i][0]; if (matrix[i][k] > max) { for (int j = 0; j < n; j++) { max = matrix[i][j]; jmax = j; } } if (matrix[i][k] < min){ for (int j = 0; j < n; j++){ min = matrix[i][j]; jmin = j; } } matrix[i][jmin] = max; matrix[i][jmax] = min; } for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++){ System.out.print(matrix[i][j] + "\t"); } System.out.println(); } }
Эти три метода позволят вам сначала ввести размерность матрицы, затем выбрать столбец для сортировки, и наконец провести сортировку матрицы по этому столбцу.
Для данной задачи, следует объявить три метода в классе Matrix:
Метод для ввода размерности матрицы:
public void inputSize() throws IOException{BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter size: ");
boolean correctInf;
correctInf = false;
while (correctInf != true) {
try {
n = Integer.parseInt(br.readLine());
while (n <= 0) {
System.out.println("Error, please enter element > 0");
n = Integer.parseInt(br.readLine());
}
correctInf = true;
}
catch (NumberFormatException e) {
System.out.println("Error, please enter another element ");
}
}
correctInf = false;
}
Метод для ввода номера столбца для сортировки:
public void InputNumberStolb() throws IOException{BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter nomer stolbca dlya sortirovki: ");
boolean correctInf;
correctInf = false;
while (correctInf != true) {
try {
k = Integer.parseInt(br.readLine());
while (k < 0) {
System.out.println("Error, please enter element >= 0");
k = Integer.parseInt(br.readLine());
}
correctInf = true;
}
catch (NumberFormatException e) {
System.out.println("Error, please enter another element ");
}
}
correctInf = false;
}
Метод для сортировки матрицы по указанному столбцу:
public void sort(){int jmax = 0;
int max;
int min;
int jmin = 0;
for(int i = 0; i < n; i++){
max = matrix[i][0];
min = matrix[i][0];
if (matrix[i][k] > max) {
for (int j = 0; j < n; j++) {
max = matrix[i][j];
jmax = j;
}
}
if (matrix[i][k] < min){
for (int j = 0; j < n; j++){
min = matrix[i][j];
jmin = j;
}
}
matrix[i][jmin] = max;
matrix[i][jmax] = min;
}
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++){
System.out.print(matrix[i][j] + "\t");
}
System.out.println();
}
}
Эти три метода позволят вам сначала ввести размерность матрицы, затем выбрать столбец для сортировки, и наконец провести сортировку матрицы по этому столбцу.