新手请教一道编程题目,corejava的

y_exception 2012-07-07 06:59:29
给定如下数组:
String[] ls={"A","B","C","V","G","H","K"};
String[] ses={"B","G","K"};
要求参照数组ses中的字母顺序对数组ls进行优先排序,对没有在ses数组中出现的字母排在数组的最后,不用排序,最后输出排好顺序的数组ls.
...全文
127 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
y_exception 2012-07-10
  • 打赏
  • 举报
回复
说的好,虚心学习了 下次一定要认真想,然后问问题
程序员一灯 2012-07-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

典型的伸手党,下面的人不用回了!
[/Quote]

赞成。
我的问题都是至少2个礼拜才出来发帖。

结贴是美德 2012-07-07
  • 打赏
  • 举报
回复
“对没有在ses数组中出现的字母排在数组的最后,不用排序”

不用排序的用保持原顺序么? 如果不用的话。。。。


package test;

public class Test1 {

static String[] ls={"A","B","C","V","G","H","K"};
static String[] ses={"B","G","K"};

/**
* @param args
*/
public static void main(String[] args) {

int indexSes = 0;
int indexLs = 0;
while (indexSes <= ses.length - 1) {
while (true) {
int indexTemp = search(ses[indexSes], indexLs);
if (indexTemp != -1 && indexTemp != indexLs) {
String tempS = ls[indexLs];
ls[indexLs] = ls[indexTemp];
ls[indexTemp] = tempS;
}
if (indexTemp != -1)
indexLs++;
else
break;
}

indexSes++;
}
for (String string : ls) {
System.out.print(string + " ");
}

}

private static int search(String c, int startIndex) {
for (int i = startIndex; i <= ls.length - 1; i++) {
if (ls[i].equals(c))
return i;
}
return -1;
}

}



对不对的lz再看下哈
  • 打赏
  • 举报
回复
典型的伸手党,下面的人不用回了!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧