黑马程序员技术交流社区

标题: 随机数问题 [打印本页]

作者: py强子    时间: 2013-8-13 18:33
标题: 随机数问题
本帖最后由 py强子 于 2013-8-14 09:32 编辑

java如何获取0到10之间的数 ??
Random r=new Random(0,10);
System.out.println(r.nextInt() );

这样做不行啊!
请高手指点,最好给个例子!谢谢

作者: ⑷嚸V恱    时间: 2013-8-13 18:52
本帖最后由 ⑷嚸V恱 于 2013-8-13 18:54 编辑

Random 类 你可以看一下API
nextInt(int n) 返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。
  1. public class Test3 {
  2.         
  3.           public static void main(String args[]){
  4.                   Random r=new Random();
  5.                   for(int i=0;i<100;i++){
  6.                           System.out.println(r.nextInt(10)+"-"+i);
  7.                   }
  8.                   
  9.           }
  10. }

复制代码

作者: 施大勇    时间: 2013-8-13 19:30
随机数的产生有两种方法,当然这是目前我所知道的,不知道还有没有其它方法。

第一种:Random类产生:先生成一个Random对象,这个类中有一个nextInt( 参数)方法,例nextInt(10)可以产生一个0-10之间的任意整数,(包括0不包括10)。
第二种:Math类产后:此类中有一个next()方法,好像是这个方法,产生一个0-1之间的任意小数,可以将其乘10再取整,就可得一到0-10之间的整数(包括0不包括10),要想得到10在此基础上加一个1即可。

作者: 封号了...    时间: 2013-8-13 21:00
// 方法一:
Random random = new Random();
int r = random.nextInt(10)+1;
System.out.println(r);
// 方法二:
int i = (int) (Math.random()*10+1);
System.out.println(i);
作者: py强子    时间: 2013-8-13 21:11
Ok,谢谢各位!
作者: 小五555    时间: 2013-8-15 14:23
学习的时候写过一个猜数字的小游戏,和楼主分享一下
  1. package cn.itcase;

  2. import java.util.Random;
  3. import java.util.Scanner;

  4. class CaiShuZi {
  5.         public static void main(String[] args) {
  6.                 println("这是一个猜数字游戏,请输入任意数字开始!");
  7.                 int x,y;
  8.                 x = ran();
  9.                 y = 0;
  10.                 while (true){               
  11.                 y = scr();
  12.                 cai(x,y);
  13.                 }
  14.                

  15.         }

  16.         public static int ran(){
  17.                 Random r = new Random();
  18.                
  19.                 return r.nextInt(100);
  20.         }

  21.         public static void cai(int x,int y){
  22.                
  23.                
  24.                 if (x==y){
  25.                         println("恭喜您,猜对了!!!");
  26.                 }
  27.                 if (x < y){
  28.                         println("您猜的数字大了,请重新再试!");
  29.                 }else if (x>y){
  30.                         println("您猜的数字小了,请重新再试!");
  31.                
  32.                 }
  33.                
  34.         }

  35.         public static int scr() {
  36.                 Scanner sc = new Scanner(System.in);
  37.                 return sc.nextInt();

  38.         }

  39.         public static void println(Object o){
  40.                 System.out.println(o);
  41.         }
  42.         public static void print(Object o){
  43.                 System.out.print(o);
  44.         }
  45. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2