Вот мой код для проекта я работаю для класса:Как сделать сортировку в Java?
import java.lang.reflect.Array;
public class Project10_MaryEvans {
public static void main(String[] args) {
int[] numbers = {2, 7, 5, 3, 4, 9, 8, 10, 1, 6};
int i = 0;
final int NUMBERS_SIZE = 10;
System.out.print("Unsorted: ");
for (i = 0; i < NUMBERS_SIZE; ++i){
System.out.print(numbers[i] + " ");{
System.out.println();
}
sorting(numbers, NUMBERS_SIZE);
System.out.print("Sorted: ");
for(i = 0; i < NUMBERS_SIZE; ++i){
System.out.print(numbers[i] + " ");
}
System.out.println();
return;
}
}
public static int[] shuffle(int[] numbers){
for(int i = 0; i < numbers.length; ++i) {
numbers[i] = (int)Math.random() * numbers[i];
}
return numbers;
}
public static void sorting(int[] numbers, int numberSize) {
int i = 0;
int j = 0;
int indexSmallest = 0;
int temp = 0;
for (i = 0; i < numberSize; ++i) {
indexSmallest = i;
for(j = i + 1; j < numberSize; ++j) {
if(numbers[j] < numbers[indexSmallest]) {
indexSmallest = j;
}
}
}
}
}
Я не получаю правильный вывод. Мой вывод:
Unsorted: 2
Sorted: 2 7 5 3 4 9 8 10 1 6
Я бы подумал, что ваш код должен сделать 1) для контура 2) сортировочный 3) для цикла, но вы, кажется, имеют встроенные шаги 2 и 3 в ваш первый for loop –
Время, чтобы научиться использовать отладчик, появляется. –
Структура блока в вашем основном методе довольно перепутана. Это одна из причин, по которой вы получаете неправильный результат. Вы также «повторно используете» переменную цикла в вложенном цикле ... хотя я думаю, что вложенность на самом деле ошибочна. Подсказка: внимательно посмотрите на код ..... –