精华内容
下载资源
问答
  • java实现和电脑猜随机数生成1到100

    千次阅读 2014-09-29 23:47:42
    public class text{ public static void main(String[]args){ ...Scanner in=new Scanner...System.out.println("请猜一下电脑随机生成的数是多少(1-100)"); int a=in.nextInt(); int b=(int)(Math
    public class text{


    public static void main(String[]args){


    Scanner in=new Scanner(System.in);


    System.out.println("请猜一下电脑随机生成的数是多少(1-100)");


    int a=in.nextInt();


    int b=(int)(Math.random()*100);




    while(a!=b){


    if(a<b)System.out.println("小了");


    else System.out.println("大了");





    System.out.println("请再猜一个数字:");


    a = in.nextInt();


    }


    System.out.println("恭喜你!答对了!这个数字就是" + b);


    }
    }
    展开全文
  •  明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号...

    明明的随机数 Java 排序 去重

    问题描述
      明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
    输入格式
      输入有2行,第1行为1个正整数,表示所生成的随机数的个数:N
      第2行有N个用空格隔开的正整数,为所产生的随机数。
    输出格式
      输出也是2行,第1行为1个正整数M,表示不相同的随机数的个数。第2行为M个用空格隔开的正整数,为从小到大排好序的不相同的随机数。
    样例输入
    10
    20 40 32 67 40 20 89 300 400 15
    样例输出
    8
    15 20 32 40 67 89 300 400

    思路:在代码注释
    代码:

    
    import java.util.Random;
    import java.util.Scanner;
    
    public class 明明的随机数
    {
    
    	public static void main(String[] args) {
    		/*
    		 * 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),
    		 * 对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,
    		 * 按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
    		 */
    		Scanner sc=new Scanner(System.in);
    		int n=sc.nextInt();
    		//int[] arr=suiji(n, 1, 1000);//生成给定长度随机数组
    		
    		int[] arr=new int[n];
    		for (int i = 0; i < arr.length; i++)
    		{
    			arr[i]=sc.nextInt();
    		}
    		//冒泡排序
    		for (int i = 0; i < n-1; i++)
    		{
    			for (int j = 0; j < n-1-i; j++)
    			{
    				if (arr[j]<arr[j+1])
    				{
    					int temp=arr[j];
    					arr[j]=arr[j+1];
    					arr[j+1]=temp;
    				}
    			}
    		}
    		//开辟辅助空间,利用下标去重
    		int[] arr1=new int[1000];
    		for (int i = 0; i < arr.length; i++)
    		{
    			arr1[arr[i]]++;
    		}
    		//索引,计数
    		int j=0;
    		//输出
    		for (int i = 0; i < arr1.length; i++)
    		{
    			if (arr1[i]!=0)
    			{
    				arr[j++]=i;
    			}
    		}
    		//输出
    		System.out.println(j);
    		for (int i = 0; i < j; i++)
    		{
    			System.out.print(arr[i]+" ");
    		}
    	}
    
    	/*
    	//这里是生成随机数组,在蓝桥杯里面不需要自动生成
          public static int[] suiji(int length, int min, int max) {
    		// 创建数组
    		int[] arr = new int[length];
    		// 每一个元素赋值
    		for (int i = 0; i < arr.length; i++)
    		{
    			arr[i] = new Random().nextInt(max - min + 1) + min;
    		}
    		// 返回arr
    		return arr;	
         */
    	}
    }
    
    
    展开全文
  • java生成随机数

    2013-08-22 21:29:26
    java生成随机数一般... Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果要整数,就强制转换int,然后再加上50即为50~100. 最终代码:(int)(Math.random()

    java中生成随机数一般有两种方式:

    一、Math.random()

    随即生成0<x<1的小数。

    实例:如何写,生成随机生成出0~100中的其中一个数呢?

        Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果要整数,就强制转换int,然后再加上50即为50~100.
    最终代码:(int)(Math.random()*50) + 50

     

    二、Random类

    Random random = new Random();//默认构造方法

    Random random = new Random(1000);//指定种子数字

    在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。

    相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。

     

    2 、Random类中的常用方法

    Random 类中的方法比较简单,每个方法的功能也很容易理解。需要说明的是,Random类中各方法生成的随机数字都是均匀分布的,也就是说区间内部的数字生成的几率是均等的。下面对这些方法做一下基本的介绍:

    a 、public boolean nextBoolean()

    该方法的作用是生成一个随机的boolean值,生成true和false的值几率相等,也就是都是50%的几率。

    b 、public double nextDouble()

    该方法的作用是生成一个随机的double值,数值介于[0,1.0)之间,这里中括号代表包含区间端点,小括号代表不包含区间端点,也就是0到1之间的随机小数,包含0而不包含1.0。

     

    c 、public int nextInt()

    该方法的作用是生成一个随机的int值,该值介于int的区间,也就是-2的31次方到2的31次方-1之间。

    如果需要生成指定区间的int值,则需要进行一定的数学变换,具体可以参看下面的使用示例中的代码。

    d 、public int nextInt(int n)

    该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。

    如果想生成指定区间的int值,也需要进行一定的数学变换,具体可以参看下面的使用示例中的代码。

    e 、public void setSeed(long seed)

    该方法的作用是重新设置Random对象中的种子数。设置完种子数以后的Random对象和相同种子数使用new关键字创建出的Random对象相同。

    3 、Random类使用示例

    使用Random类,一般是生成指定区间的随机数字,下面就一一介绍如何生成对应区间的随机数字。以下生成随机数的代码均使用以下Random对象r进行生成:

    Random r = new Random();

    a 、生成[0,1.0)区间的小数

     double d1 = r.nextDouble();
    直接使用nextDouble方法获得。

    b、生成[0,5.0)区间的小数

    double d2 = r.nextDouble() * 5;

    因为nextDouble方法生成的数字区间是[0,1.0),将该区间扩大5倍即是要求的区间。

     

    同理,生成[0,d)区间的随机小数,d为任意正的小数,则只需要将nextDouble方法的返回值乘以d即可。

    c、生成[1,2.5)区间的小数  [n1,n2]

           double d3 = r.nextDouble() * 1.5 + 1;【也就是 r.nextDouble() * (n2-n1)+n1】

    生成[1,2.5)区间的随机小数,则只需要首先生成[0,1.5)区间的随机数字,然后将生成的随机数区间加1即可。

    同理,生成任意非从0开始的小数区间[d1,d2)范围的随机数字(其中d1不等于0),则只需要首先生成[0,d2-d1)区间的随机数字,然后将生成的随机数字区间加上d1即可。

    d、生成任意整数

    int n1 = r.nextInt();

    直接使用nextInt方法即可。

    e、生成[0,10)区间的整数

    int n2 = r.nextInt(10);

    n2 = Math.abs(r.nextInt() % 10);

    以上两行代码均可生成[0,10)区间的整数。

    第一种实现使用Random类中的nextInt(int n)方法直接实现。

    第二种实现中,首先调用nextInt()方法生成一个任意的int数字,该数字和10取余以后生成的数字区间为(-10,10),因为按照数学上的规定余数的绝对值小于除数,然后再对该区间求绝对值,则得到的区间就是[0,10)了。

    同理,生成任意[0,n)区间的随机整数,都可以使用如下代码:

    int n2 = r.nextInt(n);

    n2 = Math.abs(r.nextInt() % n);

    f、生成[0,10]区间的整数

    int n3 = r.nextInt(11);

    n3 = Math.abs(r.nextInt() % 11);

    相对于整数区间,[0,10]区间和[0,11)区间等价,所以即生成[0,11)区间的整数。

    g、生成[-3,15)区间的整数

    int n4 = r.nextInt(18) - 3;   【也就是 r.nextInt() * (n2-n1)+n1】 n1是个负数

    n4 = Math.abs(r.nextInt() % 18) - 3;    

    生成非从0开始区间的随机整数,可以参看上面非从0开始的小数区间实现原理的说明。

     

     



    展开全文
  • 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 N 个 1 1000 之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的...

    题目描述
    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 N 个 1 到 1000 之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
    输入描述
    第 1 行为 1 个正整数,表示所生成的随机数的个数:N。
    第 2 行有 N 个用空格隔开的正整数,为所产生的随机数。
    输出描述
    输出 2 行,第 1 行为 1 个正整数 M,表示不相同的随机数的个数。
    第 2 行为 M 个用空格隔开的正整数,为从小到大排好序的不相同的随机数。
    输入输出样例
    示例 1
    输入

    10
    20 40 32 67 40 20 89 300 400 15
    

    输出

    8
    15 20 32 40 67 89 300 400
    

    代码实现

    import java.util.*;
    public class Main{
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            ArrayList arrayList = new ArrayList();
            int n = scan.nextInt();
            for (int i = 0; i < n; i++) {
                int num = scan.nextInt();
                if (!arrayList.contains(num)){
                    arrayList.add(num);
                }
            }
            scan.close();
            Collections.sort(arrayList);
            System.out.println(arrayList.size());
    //        arrayList.forEach(a -> System.out.print(a +" "));
            for (Object o : arrayList){
                System.out.print(o + " ");
            }
        }
    }
    
    展开全文
  •  明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号...
  • 例: 得到1到100随机数 (int)(1+Math.random()*(100-1+1)) 第二种:使用java.util.Random类实现 Random构造方法: //两种构造方法: Random r = new Random();//不包含随机种子 Random...
  • 后台预先生成一个1-100之间的随机数,用户键盘录入猜数字 如果猜对了,打印“恭喜您,答对了” 如果猜错了 猜大了:打印“sorry,您猜大了!” 猜小了:打印“sorry,您猜小了!” 直到数字猜为止 ...
  • java 随机数

    2016-09-13 20:32:00
    java中一般有两种随机数,一个是Math中random()方法,一个是Random类。...Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果要整数,就强制转换int,然后再...
  • java随机数

    2016-05-11 08:30:00
    Java中一般有两种随机数,一个是Math中random()方法,一个是Random类。...Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果要整数,就强制转换int,然...
  • 首先要说的是:很多人分不清临界值是否取得!... 在这里我举个例子:生成一个[1100]之间的随机数字。 number = (int)(Math.random()*100)+1  Math.random生成的是一个[0.0,1.0)之间的小数0...
  • Java产生随机数

    2015-08-02 12:05:49
    java中一般有两种随机数,一个是Math中random()方法,一个是Random类。   一、Math.random() ...实例:如何写,生成随机生成出0~... Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到
  • 假设随机生成1到100之间的数 import java.util.Random; public class Random { public static void main(String[] args) { int max = 100; int min = 1; Random random = new Random(); int s = random.nextInt...
  • Java中Random随机数

    2018-10-20 16:00:00
    java中一般有两种随机数,一个是Math中random()方法,一个是Random类。...Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果要整数,就强制转换int,然后...
  • java随机生成三位数

    千次阅读 2020-09-28 16:40:28
    /** * 生成随机三位数 */ public static void test3(){ int i=(int)(Math.random()*900)+100; int j= new Random().nextInt(900)+100;...Math.random()返回的是0到1之间的随机数,返回类型为double型,大...
  • Java中的随机数

    2016-07-02 21:33:07
    Java中的随机数 最近有看到,也混混的,再复习...随机生成0 返回只是从0到1之间的小数,如果要50~100,就先放大50倍,即0~50之间,但还是小数 如果要整数,就强制转换int,然后在加上50即为50~100 (int)(Math
  • java中的随机数Random

    2017-06-28 11:22:01
    java中的随机数Random 文章分类:Java编程 Java中一般有两种随机数,一个是Math中random()方法,一个是... Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果
  • java中的随机数

    千次阅读 2011-11-14 16:13:39
    java中一般有两种随机数,一个是Math中random()方法,... Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果要整数,就强制转换int,然后再加上50即为50~100.
  • Java中的随机数Random

    2017-04-14 17:21:47
    Java中一般有两种随机数,一个是Math中random()方法,... Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果要整数,就强制转换int,然后再加上50即为50~100.
  • 蒜头君想在学校中请一些同学一起做一项问卷调查,为了确保实验的客观性,他先用计算机生成了 n(1≤n≤100)个 1 1000 之间的随机整数,对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的...
  • Java 产生随机数 详解

    2018-04-28 14:39:08
    Math.random() 方法可以随机生成一个 [0, 1) 直接的数,包括 0,不包括 1生成 0 10 之间的整数# 使用 Math.round(Math.random() * 10))ExecutorService executorService = Executors.newFixedThreadPool(10);...
  •  明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号...

空空如也

空空如也

1 2 3 4
收藏数 78
精华内容 31
关键字:

随机生成1到100随机数java

java 订阅