梅花与我两白头 发表于 2021-3-21 14:48:26

java生成随机数不会写

package com.company;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
   // write your code here
      System.out.println("剪刀石头布程序已经启动");
      System.out.println("请你输入:");
      int i;
      for(i=0;i<5;i++){
            Scanner sc=new Scanner(System.in);
            String hand=sc.nextLine();
            if()                               //不知道怎么写随机数和输出对应的汉字,要写出剪刀石头布的小程序与电脑对弈,五局出的一样才算平局。
      }
    }
}

corona_longyan 发表于 2021-3-21 21:45:09

一时之间我也想不出来,但我记得好像有个random()函数可以帮助你实现随机数的生成,其他的我也手足无措了

洋洋痒 发表于 2021-3-22 20:05:11

(int)(Math.random()*3)——————————————方法一   0-2之间随机数

Random rand=new Random();
x=rand.nextInt(3);————————————————方法二   0-2之间随机数

梅花与我两白头 发表于 2021-3-22 20:15:49

洋洋痒 发表于 2021-3-22 20:05
(int)(Math.random()*3)——————————————方法一   0-2之间随机数

Random rand=new Random() ...

非常感谢您能回答我的问题,然后请问怎么改成1~3的随机,我看网上说前面好像还要加一个int(第一种)。

梅花与我两白头 发表于 2021-3-22 20:16:34

corona_longyan 发表于 2021-3-21 21:45
一时之间我也想不出来,但我记得好像有个random()函数可以帮助你实现随机数的生成,其他的我也手足无措了

是2楼这种吗{:10_277:}

洋洋痒 发表于 2021-3-22 21:16:18

梅花与我两白头 发表于 2021-3-22 20:16
是2楼这种吗

两种方法都加1就可以了

洋洋痒 发表于 2021-3-22 21:17:12

(int)(Math.random()*3)+1

第二种方法最后加x+=1

0-2加1不就是1-3了嘛………………

洋洋痒 发表于 2021-3-22 21:23:43

Math.random()是0-0.99999999999…………随机数
Math.random()*3就是0-2.999999999…………随机数
前边加个(int)强制转换成整数就是0,1,2三个数随机了
最后再加1就是1,2,3三个数随机


你想随机的范围是多少第二行就乘几,例如20-30随机数就是
(int)(Math.random()*11)+20

梅花与我两白头 发表于 2021-3-26 10:06:36

洋洋痒 发表于 2021-3-22 21:23
Math.random()是0-0.99999999999…………随机数
Math.random()*3就是0-2.999999999…………随机数
前边加 ...

感谢

连帅帅 发表于 2021-4-1 17:35:50

活捉一个java小白!{:5_108:}
页: [1]
查看完整版本: java生成随机数不会写