强!真不愧是人类高质量男性!仅用三行代码就从一千个数字随机选出了一百个不同的数字!

Posted 四原色

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强!真不愧是人类高质量男性!仅用三行代码就从一千个数字随机选出了一百个不同的数字!相关的知识,希望对你有一定的参考价值。

人类高质量男性就该有人类高质量男性的样子!不仅仅应该能从外表看出来,更应该由内而外地表现出来,你比如说下面三行代码:

public class RandomNum {
    public static void main(String[] args) {
        int num[]=new int[100],allNum[]=new int[1000];//num存放最终得到的100个不同数字,allNum存放0~1000的1000个有序数字,(int)(Math.random()*(allNum.length-1)
        for (int i=0;i<allNum.length;i++) num[ ( (allNum[i]=i) <num.length) ? i : (num.length-1)] = Swap.num(num,allNum.length,0);
        for(int i=0;i<(num ).length;i++) System.out.printf((num[i] = allNum[num[i]]) + (num[i]<10?"  ":(num[i]<100)?" ":"") + (((i+1)%10==0 && i!=0 )?"\\n":"  "));
}

简单明了,通俗易懂,学过java的一般都说好理解

写这三行代码的也没别的意思,就是意思意思一下。

  1. 先定义了两个int数组 ,一个长度100,另一个长度1000;
    1. 长度1000的数组存放1~1000的有序不重复数字;
    2. 长度100的是存放100个从长度1000里随机选出来的不同的数字;
  2. 可以看到:三行代码里面有两个for循环
    1. 第一个for循环是用来:
      1. 给长度1000的数组赋值,可以看到,这个for循环执行的次数是长度为1000的数组的长度,也就是说通过这个循环可以给这个长度1000的数组依次赋予有序的值;
      2. 给长度100的数组赋值,也就是给他赋一个初始无序的在1~100的随机值,但是此时为了防止数组越界,利用三元运算,当循环到100时开始停止往下赋值,此时及此后只对尾值进行随机变换。
    2. 第二个for循环是用来:
      1. 利用小数组的每一个的值作为大数组的坐标获取其值赋值给小数组对应的值;
      2. 输出100个从大数组中选出的不同且无序的数;

代码已打包:https://download.csdn.net/download/qq_44140450/20369236

运行效果:

以上是关于强!真不愧是人类高质量男性!仅用三行代码就从一千个数字随机选出了一百个不同的数字!的主要内容,如果未能解决你的问题,请参考以下文章

强!真不愧是人类高质量男性!仅用三行代码就从一千个数字随机选出了一百个不同的数字!

人类高质量女性教你用爬虫抓取B站人类高质量男性求偶视频的弹幕,康康都在讨论什么!

第19课:生活中的访问模式——一千个读者一千个哈姆雷特

一千个创业者,一千个元宇宙

如何编写高质量的 JS 函数 -- 敲山震虎篇

避免一千个 if 语句的最佳方法是啥?