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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大西洋 中级黑马   /  2015-5-18 20:29  /  744 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一开始把输出语句写在第一个for循环里面,输出结果很奇怪,总是:5 5 5 6 7 1 9 10 12 14 15 17 22 35 ....
出现了好几个 5。。。之前数组里根本没有;后来发现,要在for循环外面再写一个遍历数组的新内容;

  1. public class TestMaoPao {
  2.         
  3.         public static void sortTest(int[] arg){
  4.                 System.out.println(arg.length);
  5.                 int temp = 0;
  6.                 for (int i = 0; i <= arg.length-1; i++) { // 到最后一个就不排序了,如果不减一就会报数组越界
  7.                         for (int j = 0; j < arg.length-i-1; j++) {        // 循环到中间
  8.                                 if (arg[j] > arg[j+1]) {
  9.                                         temp = arg[j];
  10.                                         arg[j] = arg[j+1];
  11.                                         arg[j+1] = temp;
  12.                                 }
  13.                         }
  14.                 }
  15.                 for (int k = 0; k < arg.length; k++) { // 遍历数组                        
  16.                         System.out.print(arg[k]+" ");
  17.                 }
  18.         }
  19.         
  20.         public static void main(String[] args) {
  21.                 int[] ss = {5,6,2,14,3,7,9,50,4,10,17,12,15,1,35,22};
  22.                 sortTest(ss);
  23.         }
  24. }
复制代码

结果:
  1. 16
  2. 1 2 3 4 5 6 7 9 10 12 14 15 17 22 35 50
复制代码



10 个回复

倒序浏览
好水啊 哥哥。。
回复 使用道具 举报
前来挽尊 围观大神
回复 使用道具 举报
额,数组输出结果是需要遍历的。。。。。
回复 使用道具 举报
顶一下吧。。。
回复 使用道具 举报
哈哈,顶一下楼主
回复 使用道具 举报
哇  有学习了一遍冒泡!
回复 使用道具 举报
也不容易,定顶下吧
回复 使用道具 举报
夜愿Relax 来自手机 中级黑马 2015-5-18 23:56:34
9#
继续加油加油
回复 使用道具 举报
一起学习,加油!
回复 使用道具 举报
说得好啊。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马