这是我第一次在这个博客上发帖。我是Java新手,当用户输入一组值时,我在使用冒泡排序时遇到了一个问题。下面是我的代码;然而,我更多的是寻求建议,而不是答案,因为我不会带着答案去学习语言。
谢谢你的帮助,如果我的代码有点复杂的话,再次表示抱歉。顺便说一句,我刚刚开始学习Java,所以我不能遵循非常复杂的编码建议。
import java.util.Arrays;
public class bubbleSort{
public static void main(String[] arg){
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.println("Enter total amount of numbers:" );
int n = input.nextInt();
int [] numbers = new int[n];
System.out.println("Enter the numbers: ");
for (int i = 0; i < n; i++) {
numbers[i] = input.nextInt();
}
System.out.println(list(n));
bubbleSort(n);
System.out.println(list(n));
}
public static void bubbleSort(int[] n){
boolean flag;
do{
flag = false;
for(int i = 0; i < n.length - 1; i++){
if (n[i] > n[i + 1]){
int temp = n[i];
n[i] = n[i + 1];
n[i + 1] = temp;
flag = true;
}
}
} while (flag);
}
}
3条答案
按热度按时间vhipe2zx1#
当您开始引用一个未定义的标识符
list
时,您的代码有点混乱。我认为您需要:
而不是:
n
是输入数字的个数,而不是您希望排序的数字。numbers
包含输入数据,排序起来要合理得多。ef1yzkbh2#
您的程式码有问题。
System.out.println(list(n));//list(n)came out of nowhere
而且您的代码似乎只对其中一个数组元素进行了排序。
您可以尝试以下操作:
mm9b1k5b3#
因此,让我们添加一些有关代码的更多信息。
bubbleSort
,而实际上它应该是BubbleSort
int[] n
(bubbleSort(int[] n)
),这意味着你只传递给它一个int数组。list(n)
,至少在您的类上)这些都是对你提供的代码的很好的建议。希望它能帮助你对Java世界有更多的了解。