黑马程序员技术交流社区

标题: 哪里出了差错,编译没通过 [打印本页]

作者: 一匹小黑马    时间: 2015-4-26 21:47
标题: 哪里出了差错,编译没通过
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]+"]");
  }
}
}

作者: xiao7181jun    时间: 2015-4-26 22:21
哥们,以后写帖子把注释写上啊,需求、分析啥的不能落下。要不非常不利于你以后的阅读啊!
请问这是你要执行的结果么?(附件)
如果不是,把想要的结果发出来我瞅瞅哦!

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

QQ图片20150426221748.png

作者: 大兵在海边    时间: 2015-4-26 22:28
你的printArray()方法里的System.out.print(arr[x]",");少一个+号
作者: xiao7181jun    时间: 2015-4-26 22:32
你只是粗心了,你的第33行的for 循环语句少了 { } ,里面的输出语句又少了 + 。看附件。

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

QQ图片20150426222843.png

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

QQ图片20150426222847.png

作者: xiao7181jun    时间: 2015-4-26 22:40
额。。。露怯了,你if语句中只写一行代码的话是可以省略 { },但是多行是必须加 { }的。。
作者: 一匹小黑马    时间: 2015-4-27 14:37
xiao7181jun 发表于 2015-4-26 22:40
额。。。露怯了,你if语句中只写一行代码的话是可以省略 { },但是多行是必须加 { }的。。 ...

谢谢帮助
作者: 一匹小黑马    时间: 2015-4-27 14:38
xiao7181jun 发表于 2015-4-26 22:40
额。。。露怯了,你if语句中只写一行代码的话是可以省略 { },但是多行是必须加 { }的。。 ...

谢谢帮助
作者: jiangwenjun    时间: 2015-4-27 14:46
还有一个小小的问题。就是你的用的是选择排序,所以在外循环的循环范围是系x<arr.length-1   因为最后一个数不用判定。 当然你代码没有错,但是如果其他用到有for循环时,没有想清楚就会出现问题
作者: V_nan    时间: 2015-4-27 18:11
int arr[]=new int[]{2,5,1,9,7,3,6};
作者: wangyu    时间: 2015-4-27 21:51
一个人注释没有,这是个垃圾程序
作者: Sheng.cn    时间: 2015-4-27 22:35
还是多看两遍视频吧





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2