Stack Overflow на русском Asked by Kamran on August 31, 2020
В методе swap
нужно написать так код, чтобы когда я задавал определенные числа a
и b
(позиции в массиве), он менял их местами. Например, массив 9 2 3 5 8 8 8 8 3 4
. Я задаю 1
и 2
– это значит, что числа на этих позициях меняются друг с другом. То есть становится 9 3 2 5 8 8 8 8 3 4
.
public class App {
int[] arr = new int[10];
void start() {
sluchaynoye();
print();
swap(0, 1);
}
void print() { //
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
int ran() { //
return (int) (Math.random() * 10);
}
void sluchaynoye() { //
for (int i = 0; i < arr.length; i++) {
arr[i] = ran();
}
}
void swap(int a, int b) {
}
}
В нормальном виде это должно выглядеть так :
public class App {
private final int[] arr;
public static void main(String[] args) {
//рандомный массив на 10 элементов, минимальное значение чисел в массиве - 0, максимальное - 10
App app = new App(10, 0, 10);
//а можем создать экземпляр класса, работающий с массивом, который мы передаем в конструкторе, а не с рандомным
//App app = new App(new int[]{5,3,1,0,8});
//выводим в консоль, для этого переопределяем метод toString()
System.out.println(app);
app.swap(0, 1);
System.out.println(app);
}
public App(int[] arr) {
this.arr=arr;
}
public App(int size, int origin, int bound) {
this(new java.util.Random().ints(size, origin, bound).toArray());
}
public void swap(int index1, int index2) {
int tmp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = tmp;
}
@Override
public String toString() {
//поскольку для массива метод toString() не переопределен, используем утилитный метод вывода массива в консоль
return java.util.Arrays.toString(arr);
}
}
если что-то непонятно - задавайте вопросы
Answered by Дмитрий on August 31, 2020
void swap (int a, int b) {
int c = arr[a]; // записываем первонач. значение arr[a] в переменную с
arr[a] = arr[b]; // в arr[a] записываем arr[b]
arr[b] = c; // в arr[b] записываем с (первонач. значение arr[a])
}
Answered by azlov on August 31, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP