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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 孙百鑫 于 2013-6-27 07:51 编辑

任意给定5个不重复的数字,比如说1,2,3,4,5,打印出没有重复数字的5位数,比如说12345,54321,……用java怎么实现呢?
注:在数学里面叫A(5,5)=120,就是总共有120种情况,但我要的不是有多少种情况,还是要把他所有的120种情况都打印出来。

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 神马都是浮云

查看全部评分

13 个回复

倒序浏览
public class Testc1{
        public static void main(String[] args){
            int[] a = new int[]{1,2,3,4,5};
            int n = 1;
            for (int i = 0; i<a.length; i++){
                    for (int j = 0; j<a.length; j++){
                            for (int k = 0; k<a.length; k++)
                            if((a[i] != a[j]) && (a[i] != a[k]) && (a[j] != a[k])){
                                    System.out.println(n+":"+a[i] + "\t" + a[j] + "\t" + a[k]);
                                    n++;
                            }
                           
                    }
                   
            }
套这个格式去自己加,这个是三位数的,我懒得去弄了

点评

那5位数的岂不是要5层for循环啊,晕,  发表于 2013-6-27 15:30

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
Sofoul 发表于 2013-6-25 23:49
public class Testc1{
        public static void main(String[] args){
            int[] a = new int[]{1,2,3,4,5};

厉害 我想了一会没什么思路~原来要三个for
回复 使用道具 举报
{:soso_e179:}
回复 使用道具 举报
5位岂不是5个for~~~~~
回复 使用道具 举报
递归应该可以做的。
回复 使用道具 举报
  1. import java.util.*;

  2. public class QuanPaiLie{
  3.         private static int NUM = 5;
  4.         public static void main(String[] args){
  5.                 Integer[] integer = {1,2,3,4,5};
  6.                
  7.                 List<Integer>list = new ArrayList<Integer>(Arrays.asList(integer));
  8.                
  9.                 method(list,new ArrayList<Integer>());
  10.         }
  11.         private static void method(List<Integer>list,List<Integer>list1){
  12.        
  13.                
  14.                 if(list1.size()== NUM){
  15.                         for(Integer i :list1){
  16.                                 System.out.print(i);
  17.                                
  18.                         }
  19.                         System.out.println();
  20.                         return;
  21.                 }
  22.                
  23.                 //System.out.println(list.size());
  24.                 for(int x=0;x<list.size();x++){
  25.                        
  26.                         List<Integer>newList = new ArrayList<Integer>(list);
  27.                         List<Integer>newList1 = new ArrayList<Integer>(list1);
  28.                         newList1.add(newList.get(x));
  29.                         newList.remove(x);
  30.                         method(newList,newList1);
  31.                        
  32.                 }
  33.                        
  34.                        
  35.                
  36.         }
  37. }
复制代码
回复 使用道具 举报
import java.util.*;
public class ageDemo {
        public static void main(String[] args) {
                Set<Integer> s=new TreeSet<Integer>();//用SET保证集合原素不会重复
                for(int i=12345;i<=54321;i++)//5个数组成的数的范围
                {
                        //把数变为字符     如果字符同时包含1,2,3,4,5则加进集合里面
                        if((i+"").contains("1")&&(i+"").contains("2")&&(i+"").contains("3")&&(i+"").contains("4")&&(i+"").contains("5"))
                        s.add(i);
                }
                System.out.println(s.size());//打印集合长度
                //打印几何元素
                for(Integer i:s)
                {
                        System.out.println(i);
                }
        }
}
求技术分啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

评分

参与人数 1技术分 +1 收起 理由
刘凯 + 1 好吧, 感觉这个最好是for循环 或者递归.

查看全部评分

回复 使用道具 举报
楼主您好。我已将您的帖子改成已解决。如果帖子发布长时间没加分。及时联系我。以免漏分的情况发生
回复 使用道具 举报
谢谢楼上的热心观众哦
回复 使用道具 举报
郭伟杰 发表于 2013-6-26 12:34
import java.util.*;
public class ageDemo {
        public static void main(String[] args) {

你这个思路太牛了,佩服佩服啊!
回复 使用道具 举报

哥们,很牛啊。。。
回复 使用道具 举报
郭伟杰 发表于 2013-6-26 12:34
import java.util.*;
public class ageDemo {
        public static void main(String[] args) {

厉害。。不过12345变成abcde就没法做,。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马