Java产生随机数的几种方式

Java产生随机数的几种方式,第1张

方法1

(数据类型)(最小值+Mathrandom()(最大值-最小值+1))

例:

(int)(1+Mathrandom()(10-1+1))

从1到10的int型随数

方法2

获得随机数

for (int i=0;i<30;i++)

{Systemoutprintln((int)(1+Mathrandom()10));}

(int)(1+Mathrandom()10)

通过javaMath包的random方法得到1-10的int随机数

公式是:最小值---最大值(整数)的随机数

(类型)最小值+Mathrandom()最大值

方法3

Random ra =new Random();

for (int i=0;i<30;i++)

{Systemoutprintln(ranextInt(10)+1);}

通过javautil包中的Random类的nextInt方法来得到1-10的int随机数

生成0到1之间的任意随机小数:

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

[n1,n2]

也就是 ranextDouble() (n2-n1)+n1

/

生成一个指定位数的唯一ID

@param digit ID位数

@return 由数字和大写字母组成的ID号

/

public static String genId(int digit)

{

char digits[] =

{

'1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'A', 'B', 'C', 'D', 'E', 'F',

'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',

'W', 'X', 'Y', 'Z'

};

String id = "";

for (int i = 0; i < digit; i++)

{

int temp = (new Double(Mathrandom() 997D))intValue() % 36;

id = id + StringvalueOf(digits[temp]);

}

return id;

}

新建一个Mainjava

public class Main

{

MainFrame mainFrame;

public Main()

{

mainFrame = new MainFrame();

mainFramesetSize(300, 200);

mainFramesetVisible(true);

}

public static void main(String[] args)

{

new Main();

}

}

再建一个MainFramejava

import javaxswing;

import javaawt;

import javaxswingborder;

import javaawtevent;

import javautilRandom;

public class MainFrame

extends JFrame

{

JLabel jLabelResult = new JLabel();

Border border1 = BorderFactorycreateBevelBorder(BevelBorderLOWERED,

Colorwhite, Colorwhite, new Color(103, 101, 98),

new Color(148, 145, 140));

JButton jButtonStart = new JButton();

JButton jButtonClear = new JButton();

public MainFrame()

{

thisgetContentPane()setLayout(null);

jLabelResultsetBorder(border1);

jLabelResultsetBounds(new Rectangle(7, 6, 224, 38));

jButtonStartsetBounds(new Rectangle(17, 52, 71, 29));

jButtonStartsetText("开始");

jButtonStartaddActionListener(new MainFrame_jButtonStart_actionAdapter(this));

jButtonClearsetBounds(new Rectangle(128, 52, 71, 29));

jButtonClearsetText("重玩");

jButtonClearaddActionListener(new MainFrame_jButtonClear_actionAdapter(this));

thissetDefaultCloseOperation(JFrameDISPOSE_ON_CLOSE);

thissetTitle("随机数练习");

thisgetContentPane()add(jLabelResult);

thisgetContentPane()add(jButtonStart);

thisgetContentPane()add(jButtonClear);

}

public void jButtonStart_actionPerformed(ActionEvent e)

{

Random ran = new Random(SystemcurrentTimeMillis());

int player1 = rannextInt();

int player2 = rannextInt();

if (player1 > player2)

jLabelResultsetText("player1 获胜");

else if (player2 > player1)

jLabelResultsetText("player2 获胜");

else

jLabelResultsetText("player1 = player2");

}

public void jButtonClear_actionPerformed(ActionEvent e)

{

jLabelResultsetText("");

}

}

class MainFrame_jButtonStart_actionAdapter

implements ActionListener

{

private MainFrame adaptee;

MainFrame_jButtonStart_actionAdapter(MainFrame adaptee)

{

thisadaptee = adaptee;

}

public void actionPerformed(ActionEvent e)

{

adapteejButtonStart_actionPerformed(e);

}

}

class MainFrame_jButtonClear_actionAdapter

implements ActionListener

{

private MainFrame adaptee;

MainFrame_jButtonClear_actionAdapter(MainFrame adaptee)

{

thisadaptee = adaptee;

}

public void actionPerformed(ActionEvent e)

{

adapteejButtonClear_actionPerformed(e);

}

}

运行时把Mainjava设为主类

不明白可发信息问

import javautil;

public class DBAndom {

public static void main(String[] args) {

char t[]=new char[20]; //创建数组

for(int i=0;i<20;i++){

t[i]=(char)(Mathrandom()26+'a');

for(int j=0;j<i;j++){ //循环比较

if(t[j]==t[i]){ //判断 如果重复

i--; //就i-1 从新从i循环

break;

}

}

}

Arrayssort(t); // 排序

for(int i=0;i<tlength;i++){

Systemoutprintln(t[i]);

}

}

}

简单易懂

java产生一个随机8位的数:

StringBuilder str=new StringBuilder();//定义变长字符串

Random random=new Random();

//随机生成数字,并添加到字符串

for(int i=0;i<8;i++){

strappend(randomnextInt(10));

}

//将字符串转换为数字并输出

int num=IntegerparseInt(strtoString());

Systemoutprintln(num);

按照你的要求编写的Java程序如下:

public class CCH {

 public static void main(String[] args) {

  int sum=0;

  float average;

  Systemoutprint("随机列出十个数字是:");

  for(int i=0;i<10;i++){

   int n=(int)(Mathrandom()100);

   sum=sum+n;

   Systemoutprint(n+" ");

  }

  Systemoutprintln();

  average=sum/100f;

  Systemoutprintln("它们的和为:"+sum);

  Systemoutprintln("它们的平均数为"+average);

 }

}

运行结果:

随机列出十个数字是:58 45 43 32 58 15 73 73 71 76

它们的和为:544

它们的平均数为544

方法1

(数据类型)(最小值+Mathrandom()(最大值-最小值+1))

例:

(int)(1+Mathrandom()(10-1+1))

从1到10的int型随数

方法2

获得随机数

for (int i=0;i<30;i++)

{Systemoutprintln((int)(1+Mathrandom()10));}

(int)(1+Mathrandom()10)

通过javaMath包的random方法得到1-10的int随机数

公式是:最小值---最大值(整数)的随机数

(类型)最小值+Mathrandom()最大值

方法3

Random ra =new Random();

for (int i=0;i<30;i++)

{Systemoutprintln(ranextInt(10)+1);}

通过javautil包中的Random类的nextInt方法来得到1-10的int随机数

生成0到1之间的任意随机小数:

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

[n1,n2]

也就是 ranextDouble() (n2-n1)+n1

以上就是关于Java产生随机数的几种方式全部的内容,包括:Java产生随机数的几种方式、随机数用java程序怎么写、java随机数编程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10062288.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存