注册 登录
编程论坛 JAVA论坛

冒泡法求解,不知道错哪里,高手指点下

yaobb133 发布于 2018-04-06 22:16, 1642 次点击
public class Demo2 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        int arr[]={1,6,0,-1,9};
        int temp=0;
    //定义外循环,一共循环了7次
        for(int i=0;i<arr.length-1;i++)
        {
            //内循环,比较大小
            for(int j=0;j<arr.length-1-i;j++)
            {
               
                if(arr[j]>arr[j+1]);
                {
                    //交换
                    temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        
   
    //显示排序好的数组
    for(int i=0;i<arr.length;i++)
    {
        System.out.print(arr[i]+" ");
    }
   
}
}
9 回复
#2
yaobb1332018-04-06 22:17
回复 楼主 yaobb133
是java编程
#3
疯狂的小a2018-04-06 23:47
报什么错啊。还有你要怎么冒泡,能不能说明一下!比如要从大到小还是从小到大等等。。。
#4
yaobb1332018-04-07 07:19
编译能通过,就是结果不对,我想从小到大排序
#5
疯狂的小a2018-04-07 09:13
程序代码:
package com.xiaoa.demo;

public class Demo2 {
    /**
     *
@param args
     
*/
    public static void main(String[] args) {
        int arr[] = { 1, 6, 0, -1, 9 };
        int temp = 0;
        // 定义外循环,一共循环了7次
        for (int i = 0; i < arr.length - 1; i++) {
            // 内循环,比较大小
            for (int j = 0; j < arr.length - 1 - i; j++) {

                if (arr[j] > arr[j + 1]){/*这个位置多了点东西*/
                    // 交换
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }

        // 显示排序好的数组
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }

    }
}
#6
yaobb1332018-04-07 09:39
回复 5楼 疯狂的小a
我是业余爱好,现在还空试试,不过谢谢了
#7
yaobb1332018-04-07 09:44
多了什么能指明下嘛,我这算法得不到有序数列
#8
疯狂的小a2018-04-07 09:56
回复 7楼 yaobb133
多了一个;啊
#9
yaobb1332018-04-08 13:48
回复 8楼 疯狂的小a
谢谢,我就郁闷了,怎么我的myEcipse没报错,这个简单语法错误都没提示,还是很谢谢
#10
疯狂的小a2018-04-08 15:14
回复 9楼 yaobb133
语法没错,是逻辑错了.....
1