精华内容
下载资源
问答
  • Integer [] items = new Integer[]{-2,-3,-4,-5,-1,1,2,3,4,5}; int a= (int) Math.floor(Math.random()*items.length); Integer i = items[a]; System.out.println("kdjkjdjkj"+i);
    Integer [] items = new Integer[]{-2,-3,-4,-5,-1,1,2,3,4,5};
    int a= (int) Math.floor(Math.random()*items.length);
    Integer i = items[a];
    
    System.out.println("kdjkjdjkj"+i);
    展开全文
  • } /** * 生成不重复的s个数量的[0-n)区间的随机数 * @param n 取值的数字区间[0-n) * @param s 获取的随机数数量 * @return */ private static ArrayList getDiffNO(Integer n, Integer s) { //返回的list ...

    每天的日期宜和忌是怎么决定的。肯定不是这种。

    public static void main(String[] args) {

    //数据源

            String f = "搬家、装修、结婚、入宅、领证、动土、出行、旅游、破土、修造、嫁娶、移徙、盖屋、冠笄、开池、竖柱、归宁、放水、针灸、置产、开业、开工、订婚、安葬、开张、求嗣、赴任、祈福、祭祀、开市、纳财、启钻、除服、纳采、立券、求医、塞穴、斋醮、招赘、行丧";

            String[] a = f.split("、");

    //生成不重复的s个数量的[0-n)区间的随机数
            ArrayList<Integer> list=getDiffNO(40, 5);
            
            //取值-赋值
            String[] aa = new String[list.size()];
            for (int i = 0; i < list.size(); i++) {
                aa[i]=a[list.get(i)];
            }
            //结果
            System.out.println(Arrays.toString(aa));

            System.out.println("结束");
        }

        /**
         * 生成不重复的s个数量的[0-n)区间的随机数
         * @param n 取值的数字区间[0-n)
         * @param s 获取的随机数数量
         * @return
         */
        private static ArrayList<Integer> getDiffNO(Integer n, Integer s) {
            //返回的list
            ArrayList<Integer> list = new ArrayList<Integer>();
            Random rand = new Random();
            boolean[] bool = new boolean[n];
            int num = 0;
            for (int i = 0; i < s; i++) {
                do {
                    // 产生的数相同继续循环
                    num = rand.nextInt(n);
                } while (bool[num]);
                bool[num] = true;
                list.add(num);
            }
            return list;
        }

    展开全文
  • Java 中有一个 Random 类,他可以在指定的取值范围内随机产生数字。 Random 类 要想使用 Random 类,第一步需要导入 java.util.Random 这个包。 import java.util.Random; 第二步需要创建 Random 对象。 Random ...

    Java数组之一维数值数组之随机数统计

    在 Java 中有一个 Random 类,他可以在指定的取值范围内随机产生数字。

    Random 类

    要想使用 Random 类,第一步需要导入 java.util.Random 这个包。
    import java.util.Random;
    第二步需要创建 Random 对象。
    Random random = new Random();

    创建完 Random 对象之后,我们就可以使用它提供的方法来创建随机数了。

    方法名 方法说明
    nextDouble() 方法 返回 0.0 至 1.0 之间的 double 类型值
    nextFloat() 方法 返回的是 0.0 至 1.0 之间的 float 类型值
    nextInt(int n)方法 返回的是 0(包括)至 n(不包括)之间的 int 值

    代码示例:

    public class RandomTest {
        public static void main(String[] args) {
            Random random = new Random();
                System.out.println(random.nextInt(10));
                System.out.println(random.nextFloat());
                System.out.println(random.nextDouble());
            }
    }
    

    第一次运行结果:

    4
    0.60541
    0.7046691676099207
    

    第二次运行结果:

    3
    0.055246472
    0.47445795351116005
    

    我们可以看到第一次运行结果和第二次运行的结果是不一样的。当我们想要第一次和第二次运行结果一致的话,可以在创建 Random 对象的时候传入一个 Long 类型的数字,这个数字叫随机种子。具有相同随机种子的 Random 对象生成的随机数是一样的。

    示例:

    public static void main(String[] args) {
            // 创建一个Random对象并传入随机种子
            Random random = new Random(10);
            System.out.println(random.nextInt(10));
            System.out.println(random.nextFloat());
            System.out.println(random.nextDouble());
    }
    

    第一次运行结果:

    3
    0.44563425
    0.2578027905957804
    

    第二次运行结果:

    3
    0.44563425
    0.2578027905957804
    

    例题:统计数组中每个随机数出现的次数

    具体要求如下:

    1.接收给定的数据(如:4 88,其中第一个数代表数组长度,第二个数代表随机数种子);
    2.创建数组并添加随机数(随机数介于 0-19 之间);
    3.输出随机数出现的次数(出现次数大于 0 才输出);
    4. 按随机数大小排序输出。

    注意:数字分隔符为空格。
    

    例:
    测试输入:

    20 9
    

    预期输出:

    4出现了:1 次
    6出现了:3 次
    8出现了:2 次
    9出现了:1 次
    11出现了:1 次
    13出现了:3 次
    15出现了:2 次
    16出现了:2 次
    17出现了:1 次
    18出现了:2 次
    19出现了:2 次
    
    import java.util.Random;
    import java.util.Scanner;
    
    
    public class RandomTest {
        public static void main(String[] args) {
            // 请在Begin-End间编写代码
            /********** Begin **********/
            // 接收给定数据
            Scanner input = new Scanner(System.in);
            int n = input.nextInt();
            int l = input.nextInt();
            // 创建Random对象,并设置随机种子
            Random random = new Random(l);
            // 定义数组添加数据
           int a[] = new int [n];
           for(int i=0;i<n;i++){
               a[i]=random.nextInt(20);
           }
            // 统计每个数出现的次数
            int b[]= new int [n];
            for(int i=0;i<n;i++){
                b[a[i]]++;
            }
            // 输出结果
            for(int i=0;i<20;i++){
                if(b[i]>0)
                    System.out.printf("%d出现了:%d 次\n",i,b[i]);
            }
            /********** End **********/
    
        }
    }
    
    展开全文
  • Java数组乱序

    2018-11-26 19:43:48
    java数组乱序,把自己的理解写出来,有错误希望指出。 通过随机数做下标来跟后面的数作交换。 总的来说就是就是把取过的往后移,没取过的往前拿,同时不断缩小随机数的取值范围。每次交换的都是没取过的值 也...

    java的数组乱序,把自己的理解写出来,有错误希望指出。
    通过随机数做下标来跟后面的数作交换。 总的来说就是就是把取过的往后移,没取过的往前拿,同时不断缩小随机数的取值范围。每次交换的都是没取过的值
    也可以通过一个新数组来存储每次随机下标取到的值,来达到乱序的目的,因为每次取到的值都是不同的。具体可以自己写代码实现看下

    public static void test() {
    		Random rd =new Random();
    		String [] str= {"指","鹿","为","马"};//乱序前的数组
    		for (int i = 0; i < str.length; i++) {
    			int c = rd.nextInt(str.length - i);//接收每次产生的随机数
    			System.out.print(c+" ,");//打印随机数
    			//交换数组内容
    			String tem = str[str.length - i - 1];
    			str[str.length-1-i] =str[c];
    			str[c] = tem;
    		}
    		System.out.println();
    		System.out.println(Arrays.toString(str));
    	}
    

    随机下标,且每次循环后取值范围都减一,以此来达到不会取到倒数第i个及之后的值

    int c = rd.nextInt(str.length - i);
    

    随机下标取中的值每次于倒数第i个值做交换

    String tem = str[str.length - i - 1];
    			str[str.length-1-i] =str[c];
    			str[c] = tem;
    

    运行效果图
    一次乱序
    过程解释图
    过程解释
    八次乱序结果图
    乱序效果
    编程大白,第一次写博客。写的不好请指教。
    …苦笑脸

    展开全文
  • 创建一个长度为6的数组,要求随机取值为1-30,同时元素值各不相同 方法一:创建标志flag public class Test{ public static void main{ int[] arr6 = new int[6]; for (int i = 0; i < arr6.length; i++) { ...
  • 该方法随机生成[0,1) -->左闭右开 2、不重复 每生成一个随机数,都要和之前数组元素的值进行比较 如果相同,则需要重新赋值 代码如下: public class ArrayTest4 { public static void main(String[] args) { ...
  • 首先规定数组 int[] number=new int[N];//动态方法定义 随机生成数的范围以及所应用的函数 int temp;//暂时存放随机数 temp=(int)(Math.random()*30+1); //Math.random()的范围是[0,1)左闭右开 思路,利用for...
  • package lianx1;... * 初始一个取值范围为[1,10]随机数组,去掉重复. */ public class ArrayTest8 { public static void main(String[] args) { int a[] = new int[10]; int x = 0; for (int i =
  • 遍历当前数组,Random.next位置下标取值放入新的数组中,为了一定随机不会取重,再加判断是否已加入过新的数组中 二、 正序或逆序遍历数组;将当前位置的元素与Random.next位置的元素调换位置 [code="...
  • java7种数组排序算法

    2020-09-30 16:27:50
    import java.util.Random;...//随机生成一个长度为10,取值1~100之内的整数数组 Random rand = new Random(); int[] arr = new int[10]; for (int i = 0; i <10; i++) { arr[i] = rand.nextIn
  • Java 生成随机密码

    千次阅读 2018-12-13 19:40:33
    利用Random方法生产随机密码。 将字母,数字,符号拆开...然后循环取值,每一次从数组随机拿取字符,并把这个字符随机放入生产的密码字符串中的某个位置。 public final static String[] LOWER_CASES = { "a", ...
  • 1.生成随机长度且不重复的数组 public class Test { public static void main(String[] args) { //注意100以内取值范围为0~99,若要是1~100,则为:int num = rand.nextInt(100)+1, // 若想取到0~100,则应该写...
  • 创建一个长度为6的int型数组,要求取值为1-30,同时元素值各不相同 具体代码实现如下: public class ArrayTest { public static void main(String[] args) { // 1、动态初始化数组 int[] arr = new int[6]; /...
  • Random类 ...获取一个随机的int数字(参数就是取值范围,左闭右开区间)int r = nextInt(int a); int num = ran.nextInt(3); 代表的是[0,3),也就是取(0~2) import java.util.Random; /*Random类的使用,三个
  • 问题:随机生成100个,任何单值重复不超过两次,取值1~50之间的整数 知识点: 思路:老师写的代码,还没有完全吃透理解,先记录下来 Random rand = new Random(); final int N=100; int[]arr = new int[N]; int...
  • 简易双色球小游戏 ... -设置一个数组,系统随机取值,取到一个值,就将设置好的数组中该值设置为-1; -判断是否中奖,中几等奖的逻辑; -对结果进行排序输出。 public class Lottery{ public static void m
  • Java集合总结

    2017-06-25 22:04:18
    优点:查找快(因为ArrayList底层使用数组实现,数组的特点就是可以随机取值)。 缺点:增删慢(数组中的数据必须是连续的,如果被删除的数据在数组的中间,那么被删除的数据后边的元素必须依次向前移动,这很显然...
  • 一.验证码思路 ... import java.util.Random; import java.util.Scanner; public class TestRandom { public static void main(String[] args) { ... // 定义一个字符型数组用来存放密码数据随机取值的内容 ...
  • java Math.random()的使用

    2020-05-09 13:18:01
    Math.random()是令系统随机选取大于等于 0.0 且小于 1.0 的伪随机 double 值,是Java语言常用代码。 Math.random()*b 左边闭区间取值0,右边开区间取值b Math.random()*b + 1 左边闭区间取值0+1,右边开区间取值b+...
  • java实现100个不重复随机数

    千次阅读 2018-05-02 16:26:01
    是建立两个数组,一个是1-100,另一个从其中随机取值。这里可以设置一个end变量记录取值长度。 3.利用List中提供的Colections.shuffle(),但是要先转成List,这里需要注意asList只能取值,但是不能增加或删除.具体...
  • java 算法

    2012-03-29 09:01:35
    用半角的特殊符号代替全角的特殊符号,数组和数组之间的转换代码,从资源文件里读取值的类,一个随机类,计算传入值是否星期六,为RootPaneContainer组件添加键盘事件,将数组转成字符串 在调试或记录日志时用到,...
  • 最近学java数组部分有一题: 创建一个长度为6的int型数组,要求取值为1-30,同时元素值各不相同。解法如下: int[] arr = new int[6]; //随机生成1-30范围内数字 for (int i = 0; i < arr.length; i++) {// ...
  • Java-双色球

    2017-12-16 16:12:19
    1.随机生成7位数的数组为大奖号码(前6位红球每个数值取值范围为1~33,而且6个数值不能相同,第七位篮球取值范围为1~16) 2.判断购买号码为手动输入还是机选(如为手动输入,将用for循环一次从控制台输入一个依次数...
  • 题目描述 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。...数组的数取值为 [0, 13] ....
  • 思路 牌有1-13个数字,4种花色,还有2张大小王。洗牌过程,最终就是要实现54张牌的随机排序的结果。 所以,我想到了:先要初始化,构造出一副牌的数组,...其取值范围为已经放入数组的元素个数加1,最后返回这个数组...
  • 假设数组中有10个整数,取值范围为0~10,要求用最快的速度把这10个整数从小到大进行排序。 可以根据这有限的范围,建立一个长度为11的数组数组下标从0到10,元素初始值全为0 假设数组数据为:9,1,2,7...
  • 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。...数组的数取值为 [0, 13] . ...
  • Java集合篇(二):Set

    2019-07-06 14:45:00
    我们知道在一般的数组中,元素在数组中的索引位置是随机的,元素的取值和元素的位置之间不存在确定的关系,因此,在数组中查找特定的值时,需要把查找值和一系列的元素进行比较,此时的查询效率依赖于查找过程中比较...

空空如也

空空如也

1 2 3 4
收藏数 70
精华内容 28
关键字:

java数组随机取值

java 订阅