我在这个论坛上搜索有人遇到类似于我的问题,我无法找到为什么地球上我的程序不能正常工作,除了看起来坚实。我刚刚开始学习Java,所以我不确定这里是否有某种语法错误,或者更多,但我一直在盯着它,而这个网站在过去的一个小时里,我没有看到怎么了。阵列没有正确初始化
public class BubbleSort {
public static void main(String[] args) {
int a, b, n, change, i, operations, choice;
Scanner input = new Scanner(System.in);
System.out.println("Would you like to add your own numbers?");
System.out.println("enter '1' for no and '2' for yes");
choice = input.nextInt();
if (choice == 1) {
int[] array = {
5,
7,
3,
9,
1,
0,
6
};
n = 7;
} else if (choice == 2) {
System.out.println("How many numbers would you like to add to the" +
"Array? (Add up to 10)");
n = input.nextInt();
int array[] = new int[n];
System.out.println("Input " + n + " integers");
for (a = 0; a < n; a++) {
array[a] = input.nextInt();
}
}
System.out.println("Bubble Sort operation:");
for (a = 0; a < (n - 1); a++) {
System.out.print("iteration " + (a + 1) + ": ");
for (b = 0; b < n - a - 1; b++) {
if (array[b] > array[b + 1]) {
change = array[b];
array[b] = array[b + 1];
array[b + 1] = change;
operations++;
}
}
for (i = 0; i < n; i++) {
System.out.print(array[i]);
}
System.out.println();
}
System.out.print("Finished array after bubble sort: ");
for (i = 0; i < n; i++) {
System.out.print(array[i]);
}
System.out.println();
System.out.println("This operation took " + operations + " cycles");
System.out.println();
}
}
这只是一个简单的泡沫排序程序,但我在这里严重难住。任何想法会有什么错误?错误说n
从不初始化。
你得到的错误是什么? – haihui
这是说n没有被初始化 –
另外,它没有认识到循环中的数组与if语句中初始化的数组相同 –