本站首页    管理页面    写新日志    退出

«September 2025»
123456
78910111213
14151617181920
21222324252627
282930


公告

  如果你忍了,欺负你的人将来可能就进监狱了。如果你反击,欺负你的人将来可能就获选十大杰出青年了。

        QQ: 3159671

http://greenboy.javaeye.com/

http://blog.sina.com.cn/u/1278341164 小鸟吹烟


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:小鸟吹烟
日志总数:157
评论数量:424
留言数量:-1
访问次数:1259356
建立时间:2006年10月23日




[J2SE]1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234、412345等,
文章收藏,  网上资源

tone 发表于 2007/3/13 10:51:25

用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连. package JavaSf; /** * 用1、2、2、3、4、5这六个数字, * 用java写一个main函数,打印出所有不同的排列, * 如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连. */import java.util.Iterator;import java.util.LinkedList; public class Test {    private LinkedList list = new LinkedList();    /**     * 进行排列     */    private void PaiLie(String startStr, String str) {        if (str.length() > 1) {            for (int i = 0; i < str.length(); i++) {                for (int j = i + 1; j < str.length(); j++) {                    char[] ch = str.toCharArray();                    char temp = ch[i];                    ch[i] = ch[j];                    ch[j] = temp;                    String startStr1 = startStr + String.valueOf(ch[0]);                    String s = (new String(ch)).substring(1,                            (new String(ch)).length());                    if ((!list.contains(startStr1 + s)) &&                        isRight(startStr1 + s))                        list.add(startStr1 + s);                    PaiLie(startStr1, s);                }            }        }    }    /**     * 判断要求     */    private boolean isRight(String s) {        if (s.charAt(2) == '4') {            return false;        }        if (s.indexOf("35") != -1 || s.indexOf("53") != -1) {            return false;        }        return true;    }    /**     * 打印     */    private void display() {        Iterator it = list.listIterator();        while (it.hasNext()) {            System.out.println(it.next().toString());        }    }     public static void main(String[] args) {        if (args.length > 1) {            System.out.println("输入的参数不符合要求");        } else if (args[0].trim().length() < 3) {            System.out.println("输入的参数不符合要求");        } else {            Test test = new Test();            test.PaiLie("",args[0].trim());            test.display();        }    }} 


阅读全文(6972) | 回复(2) | 编辑 | 精华
 


回复:1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234、412345等,
文章收藏,  网上资源

晕(游客)发表评论于2008/11/18 18:45:54

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at com.caobo.kaoshi.domain.Test.main(Test.java:55)


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234、412345等,
文章收藏,  网上资源

晕(游客)发表评论于2008/11/18 18:33:24

这个也能运行?大哥诶 下次运行了再发上来吧  

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.039 second(s), page refreshed 144783459 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号