A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴光新 黑马帝   /  2013-5-25 17:51  /  1863 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Jiewin 于 2013-5-25 17:58 编辑

  1. class  Noname25
  2. {
  3. public static void main(String[] args)
  4. {
  5.   int[] arr = {5,4,3,6,4,3,1};
  6.   bubblesSort(arr);  //冒泡排序
  7. }
  8. //冒泡排序:
  9. public static void bubblesSort(int[] arr)
  10. {
  11.   for (int x=0;x<arr.length-1 ;x++ )
  12.   {
  13.    //-x:让每一次比较的元素减少。-1:避免角标越界
  14.    for (int y=0;y<arr.length-x-1 ;y++ )
  15.    {  
  16.     if (arr[y]>arr[y+1])
  17.     {
  18.      int temp = arr[y];
  19.      arr[y] = arr[y+1];
  20.      arr[y+1] = temp;
  21.     }
  22.    }
  23.   }
  24. }
  25. }
复制代码
这代码完全是按毕老师的写的,看老师执行后显示排序的数组,但我执行为什么没显示什么东西?是不是少了什么?求解

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

11 个回复

倒序浏览
没打印啊
回复 使用道具 举报
本帖最后由 Changer_s 于 2013-5-25 18:00 编辑

public static void main(String[] args)
{
  int[] arr = {5,4,3,6,4,3,1};
  bubblesSort(arr);  //冒泡排序
for(int i : arr){
System.out.println(i);
}
}

加一个循环打印
回复 使用道具 举报
无语 。。都没有输出的 写个循环输出就好了。。
回复 使用道具 举报
本帖最后由 Jiewin 于 2013-5-25 18:04 编辑
821728010 发表于 2013-5-25 17:56
没打印啊
晕呼呼~~~~~~~~~~~~~
回复 使用道具 举报
= = 你没写输出语句怎么可能会有结果输出呢·····
回复 使用道具 举报
  1. class  Demo

  2. {

  3.                 public static void main(String[] args)
  4.                 {
  5.                         int[] arr = {5,4,3,6,4,3,1};
  6.                         bubblesSort(arr);  //冒泡排序
  7.                         PrintArray(arr);
  8.                 }
  9. //冒泡排序:
  10.                 public static void bubblesSort(int[] arr)
  11.                 {
  12.                         for (int x=0;x<arr.length-1 ;x++ )
  13.                         {
  14.                                 //-x:让每一次比较的元素减少。-1:避免角标越界
  15.                                 for (int y=0;y<arr.length-x-1 ;y++ )
  16.                                 {  
  17.                                         if (arr[y]>arr[y+1])
  18.                                         {
  19.                                                 int temp = arr[y];
  20.                                                 arr[y] = arr[y+1];
  21.                                                 arr[y+1] = temp;
  22.                                         }
  23.                                 }
  24.                         }
  25.                 }
  26.                 public static void PrintArray(int[] arr)
  27.                 {
  28.                         for(int x=0;x<arr.length;x++)
  29.                         {
  30.                                 System.out.print(arr[x]+" ");
  31.                         }
  32.                 }
  33. }
复制代码
能问出来这个问题,你就已经无敌了!!1
回复 使用道具 举报
Jiewin 发表于 2013-5-25 18:01
晕呼呼~~~~~~~~~~~~~

楼主赶快加打印去吧
回复 使用道具 举报
版主都说很给力了!大家多鼓励呀,以后仔细点就好了。
回复 使用道具 举报

本帖最后由 Changer_s 于 2013-5-25 18:00 编辑


public static void main(String[] args)
{
  int[] arr = {5,4,3,6,4,3,1};
  bubblesSort(arr);  //冒泡排序
//对arr数组进行遍历,你就是少了这个遍历
for(int a: arr){
System.out.println(a);
}
                  黑马云青年为您解答
}
回复 使用道具 举报
在类中定义一个输出函数如下:
public static void printarr(int[] arr)
        {
                System.out.print("{");
                for(int x=0;x<arr.length;x++)
                      {        if(x!=arr.length-1)
                        {
                                System.out.print(arr[x]+",");
                        }
                        else
                                System.out.println(arr[x]+"}");
                }
        }
然后在main函数中在冒泡排序后引用一下
printarr(arr);
就可以输出排序后的数组元素了。
(我也是个初学者,希望能帮到你!!!{:soso_e100:})
回复 使用道具 举报
你的输出语句呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马