栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

明明生成了N个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。(java)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

明明生成了N个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。(java)

文章目录
  • 前言
  • 一、随机生成整数
    • 1.方法一
    • 2.方法二
  • 二、从键盘输入整数
  • 三、具体代码
    • 1.随机生成整数
    • 2.从键盘输入符合条件的整数
  • 总结


前言

Java是大家熟知的编程语言,使用Java进行一些实际问题的解答也很常见,本文开始会整理本人自己遇到的算法题,希望对大家有帮助。


提示:以下是本篇文章正文内容,下面代码可供参考

一、随机生成整数 1.方法一

本文采取的是Math.random()方法来生成随机整数,这个方法实际生成的是[0,1)之间的随机小数,我们可以把它乘以一个整数并将结果强制转换以得到我们想要的随机整数。
(数据类型)(1+Math.random()*(最大范围数-最小范围数+1))
生成1个1-100之间的随机整数

int i = (int)(1+Math.random()*100)
2.方法二

在java.util包内提供了一个Random类,这个类可以生成一定范围的随机数,包括int、float、double和long类型。
代码如下:

//构造函数,不指定种子数
Random random = new Random();
//指定种子数
Random random = new Random(1000);

种子数指的是随机算法的起源数字,之后会在这个范围内进行变化。
以上两种方法的区别在于,指定种子数后,每次随机生成的数字都是相同的。
随机生成[0,100)之间的整数,代码如下:

int i = random.nextInt(100);
二、从键盘输入整数

在java.util包内提供了一个Scanner类,这个类可以实现从键盘输入内容。
从键盘输入整数代码如下:

Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
三、具体代码 1.随机生成整数

代码如下:

public void ra(){
        int N = (int)(1+Math.random()*1000);
        System.out.println("随机生成的整数数量为"+N);
        int[] arry = new int[N];
        for(int i = 0;i < N;i++){
            int n = (int)(1+Math.random()*500);
            arry[i]=n;
        }
        Arrays.sort(arry);
        System.out.println(arry[0]);
        for (int j = 1;j < N;j++){
            if(arry[j] != arry[j-1]){
                System.out.println(arry[j]);
            }
        }
    }
2.从键盘输入符合条件的整数

代码如下:

public void sc(){
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入随机整数的个数(1-1000):");
        int N = scan.nextInt();
        int[] arr = new int[N];
        for(int i = 0; i < N; i++){
            System.out.println("请输入随机整数值(1-500):");
            int n = scan.nextInt();
            arr[i] = n;
        }
        Arrays.sort(arr);
        System.out.println("排序后的整数序列为:");
        System.out.println(arr[0]);
        for(int i = 1; i < N; i++) {
            if (arr[i] != arr[i - 1]) {
                System.out.println(arr[i]);
            }
        }
    }

总结

以上就是本文对此问题的解答,或许答案不尽完美,但希望对大家有所帮助,欢迎批评指正!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/991827.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号