大家都进来看看

KM8888 2008-04-28 03:21:01

思路:

英文字寸"ABCDE" //这里只列举5个字符。程序要求能实现更多
分割成4个;结果
ABCD,ABCE,ABDE,ACDE,BCDE //结果都减少一个字符

分割成3个;结果
ABC,BCD,CDE,ABD,ABE,BCE,ADE,ACE,BDE,ACD //结果减少两个字符
.
.
.//分割成2个
.
.
分割成1个;结果当然是 A,B,C,D,E 了 哈哈^_^

给我的感觉应该用循环语句吧。不过详细的还没有什么头绪呢。。

知道的大侠都发表意见。



...全文
181 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
KM8888 2008-05-01
  • 打赏
  • 举报
回复
结贴。散分
KM8888 2008-04-30
  • 打赏
  • 举报
回复
我用Tomcat在jsp下测试。

改了点代码。只能显示四位的。问问


<%@ page import="java.util.*" %>
<%

String stuMessage ="ABCDE";
HashSet list=new HashSet();
for (int i = 0; i < stuMessage.length(); i++) {
String str2;
if (i == 0)
str2 = stuMessage.substring(i + 1);
else if (i < stuMessage.length() - 1)
str2 = stuMessage.substring(0, i) + stuMessage.substring(i + 1);
else
str2 = stuMessage.substring(0, i);
list.add(str2);
}
for(Object i:list){
out.print(i.toString()+",");
}

%>
KM8888 2008-04-30
  • 打赏
  • 举报
回复
我还在试。把结果排好,我会马上散分给各位
lydiablo 2008-04-30
  • 打赏
  • 举报
回复
看完了,每甚莫感觉!!用空不如去看看电影,忽悠忽悠小妹,打打魔兽....
KM8888 2008-04-30
  • 打赏
  • 举报
回复
是啊。我也可以运行。

但是我想写成JSP的。你看看我上面的贴。。。麻烦再帮我改改
KKK2007 2008-04-30
  • 打赏
  • 举报
回复
我都是过了,结果没错啊,唉,难道你不会运行吗,分类你自己去分
结果:
ABCDE
D,
E,
A,
B,
C,
ABDE,
ACE,
ACD,
BC,
BD,
BDE,
BE,
DE,
CDE,
ABCD,
ABCE,
BCDE,
ABD,
BCD,
AC,
ABC,
AD,
AB,
CE,
ACDE,
AE,
BCE,
CD,
ABE,
ADE,
KM8888 2008-04-29
  • 打赏
  • 举报
回复
我还在试。把结果排好,我会马上散分给各位
milo-higgs 2008-04-29
  • 打赏
  • 举报
回复
这个是排列组合啊,找个排列组合的算法就搞定了。
KM8888 2008-04-29
  • 打赏
  • 举报
回复
注意:Test.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。

编译CLASS时,出现这样的信息。。。不管他。先试试看。卡卡
KM8888 2008-04-29
  • 打赏
  • 举报
回复
能帮忙愿意多分送上。。重要是大家共同进步.. 我先试试。谢了
KKK2007 2008-04-29
  • 打赏
  • 举报
回复
30分太少了,能多给些吗,这个程序我都调试通过了
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.*;
public class Test {
public static void main(String[] args) {
String stuMessage ="ABCDE";
System.out.println(stuMessage);
HashSet list=new HashSet();
divide(stuMessage,list);
int len=stuMessage.length();
for(Object i:list){
System.out.print(i.toString()+",");
}
}
public static void divide(String str, HashSet list) {
for (int i = 0; i < str.length(); i++) {
String str2;
if (i == 0)
str2 = str.substring(i + 1);
else if (i < str.length() - 1)
str2 = str.substring(0, i) + str.substring(i + 1);
else
str2 = str.substring(0, i);
list.add(str2);
if (str2.length() > 1)
divide(str2, list);
}
}
}
你自己分类去吧,都混在一起了
KM8888 2008-04-28
  • 打赏
  • 举报
回复
不那么简单吧,大侠知道弄个例子看看
hoszone 2008-04-28
  • 打赏
  • 举报
回复
是排列组合,去搜个排列组合的算法分析分析.
kingdomofhavean 2008-04-28
  • 打赏
  • 举报
回复
你这是什么思路啊,你定义一个字符串,然后按一位一位的拷贝不就行了吗?

81,092

社区成员

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

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