意思是,个位,十位,百位 上,不能出现重复的数字.  例如: 177就不符合,个位与十位重复,都是7 ;同理,330也是一样,百位与十位重复,都是3. 列出1000以内所有符合条件的三位数集合.
 

解决方案 »

  1.   

    利用三重循环实现的,其实可以有很多种解决思路,代码如下
    public class ShowNumber {

    public static void main(String[] args){
    int sum=0;
    for(int i=1;i<=9;i++){
    for(int j=0;j<=9;j++){
    if(j==i)
    continue;
    for(int m=0;m<=9;m++){
    if(m==j||m==i)
    continue;
    // System.out.println("");

    System.out.println(i*100+j*10+m);
    sum++;
    }
    }
    }
    System.out.println("总共满足条件数字个数:"+sum);
    }}
      

  2.   

    可以只用一重循环解决:
    ArrayList<Integer> list = new ArrayList<Integer>(); 
    int a,b,c;
    for (int i=0; i<1000; i++) {
    a=i/100;
    b=(i%100)/10;
    c=i%10;
    if (!(a==b||a==c||b==c)) list.add(i);
    }
    System.out.println(list.size() + "个结果: " + list);
    共有720个结果
      

  3.   

    for(int i = 0;i<1000;i++){
    int a = i%10;
    int b = i%100/10;
    int c = i/100;
    if(i>10){
    if(b==a){
    continue;
    }
    if(i>99){
    if(a==b||b==c||a==c){
    continue;
    }
    }
    }
    System.out.println(i);
    }
      

  4.   

    列出1000以内所有符合条件的三位数集合
    for (int i=100
      

  5.   

    http://blog.sina.com.cn/s/blog_496d63940100awkt.html
    就是个组合公式,初中还是高中学的
      

  6.   

            ArrayList<Integer> list = new ArrayList<Integer>(); 
            int a,b,c;
            for (int i=123; i<=987; i++) {
                a=i/100;
                b=(i%100)/10;
                c=i%10;
                if (!(a==b||a==c||b==c)) list.add(i);
            }
            System.out.println(list.size() + "个结果: " + list);
      

  7.   

    alexandertech的代码,改一下for的初始条件,就是lz要的答案,所有不重复的三位数
      

  8.   

    三楼的答案是错误的,应该是648个,用排列组合知识可以算出来的,不过贴一下代码吧
    import java.util.ArrayList;public class ShowNumber {

    public void method1(){
    int sum=0;
    for(int i=1;i<=9;i++){
    for(int j=0;j<=9;j++){
    if(j==i)
    continue;
    for(int m=0;m<=9;m++){
    if(m==j||m==i)
    continue;
    // System.out.println("");

    System.out.println(i*100+j*10+m);
    sum++;
    }
    }
    }
    System.out.println("总共满足条件数字个数:"+sum); }

    public void method2(){
    ArrayList<Integer> list = new ArrayList<Integer>(); 
            int a,b,c;
            for (int i=100; i<1000; i++) {
                a=i/100;
                b=(i%100)/10;
                c=i%10;
                if (!(a==b||a==c||b==c)) list.add(i);
            }
            System.out.println(list.size() + "个结果: " + list);
    }

    public static void main(String[] args){
    ShowNumber sn=new ShowNumber();
    sn.method1();
    sn.method2();
    }}
      

  9.   

    ArrayList<Integer> list = new ArrayList<Integer>(); 
    for(int i=100;i<1000;i++){

    String tmp=String.valueOf(i);
    char[] t=tmp.toCharArray();

    Set<Object> set=new HashSet<Object>();
    for(char t1:t){
    set.add(t1);
    }
    if(set.size()==t.length)list.add(i);
    }
    System.out.println(list.size());
    648个