Именно то, что говорится в названии. Я должен написать код, который запускает все три метода сортировки (пузырь, вставка, выбор). Пока у меня есть часть пузыря, но я не знаю, как заставить ее работать, потому что вы должны определить переменную, когда вы объявляете метод, чтобы получить возвращаемое значение. Но мне нужно, чтобы они возвращали переменные, определенные вне метода. Есть ли способ сделать это? Имейте в виду, что мне также нужны те же значения, которые использовались снова в двух других методах.Определение переменных вне методов и получение их возвращаемого значения
import java.util.Scanner;
public class Sorting {
static int d = 0;
static int c = 0;
static int n = 0;
static int swap = 0;
static int array[] = new int[n];
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("Number of elements: ");
n = scan.nextInt();
System.out.print("Enter " + n + " elements: ");
for (c = 0; c < n; c++)
array[c] = scan.nextInt();
}
static void BubbleSort(int[] a) { //this line!!
for (c = 0; c < (n - 1); c++) {
for (d = 0; d < n - c - 1; d++) {
if (array[d] > array[d+1])
{
swap = array[d];
array[d] = array[d+1];
array[d+1] = swap;
}
}
}
System.out.print("Bubble sort: ");
for (c = 0; c < n; c++)
System.out.print(array[c] + " ");
}
}
'«вы должны определить переменную, когда вы объявляя метод, так что вы можете получить возвращаемое значение»' - - ну, нет, ты не на самом деле. «Мне нужно, чтобы возвращали переменные, определенные вне метода». - Ваш метод сортировки пузырь ничего не возвращает прямо сейчас, вы определили его как возвращающий «void» (без возвращаемого значения) вместо возвращаемого типа. – azurefrog
Еще одна проблема: вы определяете 'array' как массив размера' 0', поэтому ваша программа будет разбиваться на 'array [c] = scan.nextInt();'. Вам нужно создать свой массив * после того, как * вы получите размер от пользователя, или поместите свой ввод в «Список» и преобразуйте его в массив при вызове вашего сортировки. – azurefrog
Благодарю вас за ваш вклад, я многое узнал из своих ошибок! я все еще немного неясен в первой части, но код janos, похоже, работает нормально, поэтому анализ этого может помочь мне дальше. – imaginedrragon