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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 liuelxiwd 于 2013-6-1 12:36 编辑

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我定义了一个二维数组String [][] arr = new String[5][2];每行的第一列是姓名,第二列是成绩,现在要求按成绩从高到底把这五行拍序打印出来。求代码!!!


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

6 个回复

正序浏览

   对了 还得请你看看我这种排序的效率如何  我不太清楚  因为我一向是考虑实现问题 能实现 再说  你看看效率符合不符合要求
回复 使用道具 举报

这么快  我花了将近40分钟 搞定了 0 .0
回复 使用道具 举报
刘兆华 发表于 2013-6-1 11:46
我先去帮你搞一下   等会给你答案

谢了,等待中
回复 使用道具 举报
双重循环,几维数组就得用几重循环.
回复 使用道具 举报
本帖最后由 刘兆华 于 2013-6-1 12:23 编辑

  哈哈,  纠结的头发都没了     现在好了  你的头发可以避开一劫了   你的福音来了

  1. package cn.day;
  2. public class Test01 {
  3. /*
  4. *
  5. * 我定义了一个二维数组String [][] arr = new String[5][2];
  6. * 每行的第一列是姓名,第二列是成绩,
  7. * 现在要求按成绩从高到底把这五行拍序打印出来。求代码!!!

  8. * */
  9. /**
  10.   * @param args
  11.   */
  12. public static void main(String[] args) {
  13.   // TODO Auto-generated method stub
  14.    String[][] str={{"liming1","35"},{"liming2","22"},{"liming3","64"},{"liming4","88"},{"liming5","55"}};
  15.    System.out.println(str.length);
  16.    String[] nameAge=new String[2];
  17.    for(int x=0;x<str.length-1;x++){
  18.     for(int y=0;y<str.length-x;y++){
  19.     if(Integer.parseInt(str[x][1])<Integer.parseInt(str[x+y][1]))
  20.     {
  21.      nameAge=str[x];
  22.      str[x]=str[x+y];
  23.      str[x+y]=nameAge;
  24.     }
  25.     }
  26.    }
  27.    for(String[] s:str)
  28.    {
  29.     for(String s1:s)
  30.     {
  31.      System.out.println(s1);
  32.     }
  33.    }
  34. }
  35. }

复制代码
话说 老衲的头发已经掉光了

评分

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

查看全部评分

回复 使用道具 举报
同样纠结!java不会。用C还行!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马