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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class ArrayTest1
{
public static void selectSort(int[] arr)
{
  for(int x=0;x<arr.length;x++)
  {
   for(int y=x+1;y<arr.length;y++)
   {
    if(arr[x]<arr[y])
    {
     int temp=arr[x];
     arr[x]=arr[y];
     arr[y]=temp;
    }
   }
  }
}
public static void main(String args[])
{
  int arr[]=new int[]{2,5,1,9,7,3,6};
  //排序前:
  printArray(arr);
  //排序:
  selectSort(arr);
  //排序后:
  printArray(arr);
}
public static void printArray(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]+"]");
  }
}
}

11 个回复

正序浏览
还是多看两遍视频吧
回复 使用道具 举报
一个人注释没有,这是个垃圾程序
回复 使用道具 举报
V_nan 中级黑马 2015-4-27 18:11:50
9#
int arr[]=new int[]{2,5,1,9,7,3,6};

点评

这样也可以定义的吗?新手  发表于 2015-4-27 18:13
回复 使用道具 举报
还有一个小小的问题。就是你的用的是选择排序,所以在外循环的循环范围是系x<arr.length-1   因为最后一个数不用判定。 当然你代码没有错,但是如果其他用到有for循环时,没有想清楚就会出现问题
回复 使用道具 举报
xiao7181jun 发表于 2015-4-26 22:40
额。。。露怯了,你if语句中只写一行代码的话是可以省略 { },但是多行是必须加 { }的。。 ...

谢谢帮助
回复 使用道具 举报
xiao7181jun 发表于 2015-4-26 22:40
额。。。露怯了,你if语句中只写一行代码的话是可以省略 { },但是多行是必须加 { }的。。 ...

谢谢帮助
回复 使用道具 举报
额。。。露怯了,你if语句中只写一行代码的话是可以省略 { },但是多行是必须加 { }的。。
回复 使用道具 举报
你只是粗心了,你的第33行的for 循环语句少了 { } ,里面的输出语句又少了 + 。看附件。

QQ图片20150426222843.png (4.94 KB, 下载次数: 5)

QQ图片20150426222843.png

QQ图片20150426222847.png (6.26 KB, 下载次数: 7)

QQ图片20150426222847.png
回复 使用道具 举报
你的printArray()方法里的System.out.print(arr[x]",");少一个+号
回复 使用道具 举报
哥们,以后写帖子把注释写上啊,需求、分析啥的不能落下。要不非常不利于你以后的阅读啊!
请问这是你要执行的结果么?(附件)
如果不是,把想要的结果发出来我瞅瞅哦!

QQ图片20150426221748.png (971 Bytes, 下载次数: 4)

QQ图片20150426221748.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马