使用冒泡排序Java时遇到问题
我正在尝试实现泡泡排序,但它不起作用!帮我找个问题 代码:使用冒泡排序Java时遇到问题,java,sorting,bubble-sort,Java,Sorting,Bubble Sort,我正在尝试实现泡泡排序,但它不起作用!帮我找个问题 代码: 公共类主{ 公共静态int=0; 公共静态整数排列长度; 公共静态int[]数组=新int[10]; 公共静态void main(字符串[]args){ 随机=新随机(); 对于(inti=0;i变化 for(inti=0;iChange for(inti=0;ipublicstaticinte=0; 公共静态整数排列长度; 公共静态int[]数组=新int[10]; 公共静态void main(最终字符串[]args){ 最终随机数=
公共类主{
公共静态int=0;
公共静态整数排列长度;
公共静态int[]数组=新int[10];
公共静态void main(字符串[]args){
随机=新随机();
对于(inti=0;i变化
for(inti=0;iChange
for(inti=0;ipublicstaticinte=0;
公共静态整数排列长度;
公共静态int[]数组=新int[10];
公共静态void main(最终字符串[]args){
最终随机数=新随机数();
对于(inti=0;ipublicstaticinte=0;
公共静态整数排列长度;
公共静态int[]数组=新int[10];
公共静态void main(最终字符串[]args){
最终随机数=新随机数();
对于(int i=0;i请尝试以下方法:
public class Main {
public static int e=0;
public static int[] array = new int[10];
public static void main(String[] args) {
Random random = new Random();
for(int i=0;i<array.length;++i){
array[i]=random.nextInt(10);
System.out.print(" "+array[i]);
}
System.out.println();
for (int i =0;i<array.length;i++) {
for (int j = 0; j < array.length - 1; j++) {
if (array[j] > array[j + 1]) {
e = array[j + 1];
array[j + 1] = array[j];
array[j] = e;
}
}
}
for(int i=0;i<array.length;++i){
System.out.print(" "+array[i]);
}
}
}
正在导致问题。您不需要更改该值,因为它会影响for循环的工作。请尝试以下操作:
public class Main {
public static int e=0;
public static int[] array = new int[10];
public static void main(String[] args) {
Random random = new Random();
for(int i=0;i<array.length;++i){
array[i]=random.nextInt(10);
System.out.print(" "+array[i]);
}
System.out.println();
for (int i =0;i<array.length;i++) {
for (int j = 0; j < array.length - 1; j++) {
if (array[j] > array[j + 1]) {
e = array[j + 1];
array[j + 1] = array[j];
array[j] = e;
}
}
}
for(int i=0;i<array.length;++i){
System.out.print(" "+array[i]);
}
}
}
是导致问题的原因。您不需要更改该值,因为它会影响for循环的工作。我没有看到变量array
initialized/declared。冒泡排序的哪一部分要求您修改结束条件(array length变量)?我没有看到变量数组已初始化/声明。冒泡排序的哪一部分要求您修改结束条件(数组长度变量)?
for (int i =0; i<arraylength; i++) {
for (int i =0; i<array.length; i++) {
public static int e=0;
public static int arraylength;
public static int[] array = new int[10];
public static void main(final String[] args) {
final Random random = new Random();
for(int i=0;i<array.length;++i){
array[i]=random.nextInt(10);
System.out.print(" " + array[i]);
}
System.out.println();
arraylength = array.length;
for (int i =0;i<arraylength;i++) {
for (int j = 1; j < arraylength - i; j++) {
if (array[j - 1] > array[j]) {
e = array[j - 1];
array[j - 1] = array[j];
array[j] = e;
}
}
}
for (final int element : array) {
System.out.print(" " + element);
}
}
public class Main {
public static int e=0;
public static int[] array = new int[10];
public static void main(String[] args) {
Random random = new Random();
for(int i=0;i<array.length;++i){
array[i]=random.nextInt(10);
System.out.print(" "+array[i]);
}
System.out.println();
for (int i =0;i<array.length;i++) {
for (int j = 0; j < array.length - 1; j++) {
if (array[j] > array[j + 1]) {
e = array[j + 1];
array[j + 1] = array[j];
array[j] = e;
}
}
}
for(int i=0;i<array.length;++i){
System.out.print(" "+array[i]);
}
}
}
arraylength--;