标题:如何创建不相等的随机整型常量
只看楼主
MoonVer
Rank: 2
等 级:论坛游民
帖 子:13
专家分:10
注 册:2010-7-23
结帖率:100%
已结贴  问题点数:20 回复次数:4 
如何创建不相等的随机整型常量
假设我要创建各含9个整型常量的数组 a、b、c 和 d,
其中a[1],b[0]都是1~9的随机数。
并且数组中其他整型常量与 a[1] , b[0] 的关系如下:
        a[0] = a[1] + 2;
        a[2] = a[1] + 1;
        a[3] = a[1] + 2;
        a[4] = a[1] + 3;
        a[5] = a[1] + 4;
        a[6] = a[1] + 2;
        a[7] = a[1] + 1;
        a[8] = a[1] + 2;
        a[9] = a[1] + 3;

        b[1] = b[0] + 1;
        b[2] = b[0] + 1;
        b[3] = b[0] + 1;
        b[4] = b[0] + 1;
        b[5] = b[0] + 1;
        b[6] = b[0] + 2;
        b[7] = b[0] + 3;
        b[8] = b[0] + 3;
        b[9] = b[0] + 3;

        c[0] = a[0] * 10 + b[0];
        c[1] = a[1] * 10 + b[1];
        c[2] = a[2] * 10 + b[2];
        c[3] = a[3] * 10 + b[3];
        c[4] = a[4] * 10 + b[4];
        c[5] = a[5] * 10 + b[5];
        c[6] = a[6] * 10 + b[6];
        c[7] = a[7] * 10 + b[7];
        c[8] = a[8] * 10 + b[8];   
        c[9] = a[9] * 10 + b[9];

        d[0] = b[0] * 10 + a[0];
        d[1] = b[1] * 10 + a[1];
        d[2] = b[2] * 10 + a[2];
        d[3] = b[3] * 10 + a[3];
        d[4] = b[4] * 10 + a[4];
        d[5] = b[5] * 10 + a[5];
        d[6] = b[6] * 10 + a[6];
        d[7] = b[7] * 10 + a[7];
        d[8] = b[8] * 10 + a[8];
        d[9] = b[9] * 10 + a[9];
那么我要如何写这个程序才能使数组 c 和数组 d 中的每一个常量的值都不相等。
多谢各位大虾!!
搜索更多相关主题的帖子: 整型 常量 相等 随机 
2010-08-03 17:12
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
得分:20 
程序代码:
import java.util.*;
public class TestRandom
{
    public static void main(String[] args) {
        Random ran = new Random();
        int a[] = new int[10];
        int b[] = new int[10];
        int c[] = new int[10];
        int d[] = new int[10];

        boolean flag;
        do
        {
            flag = false;
            a[1] = ran.nextInt(9)+1;
            b[0] = ran.nextInt(9)+1;
   
        a[0] = a[1] + 2;
        a[2] = a[1] + 1;
        a[3] = a[1] + 2;
        a[4] = a[1] + 3;
        a[5] = a[1] + 4;
        a[6] = a[1] + 2;
        a[7] = a[1] + 1;
        a[8] = a[1] + 2;
        a[9] = a[1] + 3;

        b[1] = b[0] + 1;
        b[2] = b[0] + 1;
        b[3] = b[0] + 1;
        b[4] = b[0] + 1;
        b[5] = b[0] + 1;
        b[6] = b[0] + 2;
        b[7] = b[0] + 3;
        b[8] = b[0] + 3;
        b[9] = b[0] + 3;

        c[0] = a[0] * 10 + b[0];
        c[1] = a[1] * 10 + b[1];
        c[2] = a[2] * 10 + b[2];
        c[3] = a[3] * 10 + b[3];
        c[4] = a[4] * 10 + b[4];
        c[5] = a[5] * 10 + b[5];
        c[6] = a[6] * 10 + b[6];
        c[7] = a[7] * 10 + b[7];
        c[8] = a[8] * 10 + b[8];   
        c[9] = a[9] * 10 + b[9];

        d[0] = b[0] * 10 + a[0];
        d[1] = b[1] * 10 + a[1];
        d[2] = b[2] * 10 + a[2];
        d[3] = b[3] * 10 + a[3];
        d[4] = b[4] * 10 + a[4];
        d[5] = b[5] * 10 + a[5];
        d[6] = b[6] * 10 + a[6];
        d[7] = b[7] * 10 + a[7];
        d[8] = b[8] * 10 + a[8];
        d[9] = b[9] * 10 + a[9];
        for (int x : c)
        {
            for (int y : d )
           
                if (x==y)
                {
                    flag = true;
                }
        }
   
        } while (flag);
        System.out.println("---a---");
        for (int x : a)
        {
            System.out.println(x);
        }
        System.out.println("---b---");
        for (int x : b )
        {
            System.out.println(x);
        }
        System.out.println("---c---");
        for (int x : c )
        {
            System.out.println(x);
        }
        System.out.println("---d---");
        for (int x : d )
        {
            System.out.println(x);
        }
    }
}

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-08-04 11:09
MoonVer
Rank: 2
等 级:论坛游民
帖 子:13
专家分:10
注 册:2010-7-23
得分:0 
感谢2楼,不过能解释一下您的for循环吗?
我是个初学者,对for循环不太了解。
2010-08-04 19:17
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
得分:0 
以下是引用MoonVer在2010-8-4 19:17:03的发言:

感谢2楼,不过能解释一下您的for循环吗?
我是个初学者,对for循环不太了解。
  java中foreach语法
    格式:
    for(元素类型type 元素变量x : 遍历对象obj)
    {    引用了x的java语句;    }

  Example:
           public class Test {
                   public static void main(String[] args)
                   {
                           int[] a = {1,2,3};
                           for(int i : a)
                                   System.out.print(i + " ");
                   }
           }

[ 本帖最后由 lampeter123 于 2010-8-4 19:52 编辑 ]

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-08-04 19:50
wtuaimmmm
该用户已被删除
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-08-06 09:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-314732-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037705 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved