您的位置:

java随机函数,java随机函数是真随机吗

本文目录一览:

java中产生随机数的函数是什么

double

number=Math.random();

Math.random()是产生0到1的方法(不包括1)

如果想要产生0到100的随机数可以写成:

double

number=Math.random()*100;(想包含100的话写成double

number=Math.floor(Math.random());)

Java怎么产生随机数?

一、利用random方法来生成随机数。

在Java语言中生成随机数相对来说比较简单,因为有一个现成的方法可以使用。在Math类中,Java语言提供了一个叫做random的方法。通过这个方法可以让系统产生随机数。

二、通过Random类来生成随机数。

在Java语言中,除了可以通过random 方法来产生随机数之外,还可以通过一个random类来产生随机数。程序开发人员可以通过实例化一个Random对象来创建一个随机数的生成器。如 Random i=new Random()。通过这条语句就利用了Random类创建了一个随机数的生成器。数

三、产生随机的字符。

可以利用random方法来产生随机字符。如可以利用代码生成一个随机的小写字符:(char)(‘a’+Math.random()*(‘z’-‘a’+1))。其实这跟生成任意两个数之间的随机数类似。通过以上的代码就可以生成一个范围之内的任意随机字符。通过对这个代码进行适当的修整,还可以生成任意两个字符之间的随机字符与任意大写字符的随机字符。其转换的方式跟上面提到的任意范围之内的随机数类似。

下面来了解下随机数的运用:

在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。

真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等。这样的随机数发生器叫做物理性随机数发生器,它们的缺点是技术要求比较高。

在实际应用中往往使用伪随机数就足够了。这些数列是“似乎”随机的数,实际上它们是通过一个固定的、可以重复的计算方法产生的。计算机或计算器产生的随机数有很长的周期性。它们不真正地随机,因为它们实际上是可以计算出来的,但是它们具有类似于随机数的统计特征。这样的发生器叫做伪随机数发生器。

在真正关键性的应用中,比如在密码学中,人们一般使用真正的随机数。

C语言、C++、C#、Java、Matlab等程序语言和软件中都有对应的随机数生成函数,如rand等。

java的随机函数怎么用,请据个例子

今天做的一个一百以内加减乘除运算的程序,里面就有随即函数的使用的例子。

package justfortest;

import java.awt.Container;

import java.awt.GridBagLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.*;

import student_docu_managerment_sys.Gridbaglayoutadd;

public class Caculater extends JFrame implements ActionListener,Runnable

{

int numberfirst,numbersecond,resualt;

String operating;

int count=0,numbercount=1;

long time;

boolean isanswered=false;

JLabel jlsettime=new JLabel("a");

JLabel jlsetresualt=new JLabel("a");

JLabel rightface=new JLabel( //new ImageIcon("2.jpg")//这个可以自己添加一个微笑的图片,小一点

),wrongface=new JLabel( //new ImageIcon("3.jpg")//这个可以自己添加一个与微笑相反的图片,小一点

),advice=new JLabel();

JButton jbok=new JButton("ok"),next=new JButton("next");

JTextField jtanswer=new JTextField(4);

void createnumberandoperation()

{

int operat=(int)(Math.random()*4+1);//这里定义1为加法,2为减法,3为乘法,4为除法

switch(operat)

{

case 1:

operating="+";

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

numbersecond=(int)(Math.random()*(100-numberfirst));

resualt=numberfirst+numbersecond;

break;

case 2:

operating="-";

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

if(numberfirst==0)createnumberandoperation();

numbersecond=(int)(Math.random()*numberfirst);

resualt=numberfirst-numbersecond;

break;

case 3:

operating="*";

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

numbersecond=(int)(Math.random()*(100/numberfirst));//have a problem

resualt=numberfirst*numbersecond;

break;

case 4:

operating="/";

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

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

if(numbersecond==0)createnumberandoperation();//the number which is numbersecond cound not be 0;

resualt=numberfirst/numbersecond;//have a problem,

break;

}

}

public Caculater()

{

Gridbaglayoutadd gra=new Gridbaglayoutadd();

Container con=this.getContentPane();

GridBagLayout grid=new GridBagLayout();

con.setLayout(grid);

gra.setxandy(6, 6, grid, con);

int a5=0,a6=0,a7=0,a8=0,a9=0,a10=0,a11=0,a12=0;

gra.addobject(5, 2, 1, 1, a5, a6, a7, a8, a9, a10, a11, a12, grid, con, jlsettime);

gra.addobject(2, 3, 3, 1, a5, a6, a7, a8, a9, a10, a11, a12, grid, con, jlsetresualt);

gra.addobject(2, 4, 1, 1, a5, a6, a7, a8, a9, a10, a11, a12, grid, con, rightface);

gra.addobject(3, 4, 1, 1, a5, a6, a7, a8, a9, a10, a11, a12, grid, con, wrongface);

gra.addobject(4, 4, 1, 1, a5, a6, a7, a8, a9, a10, a11, a12, grid, con, advice);

gra.addobject(2, 5, 1, 1, a5, a6, a7, a8, a9, a10, a11, a12, grid, con, jtanswer);

gra.addobject(3, 5, 1, 1, a5, a6, a7, a8, a9, a10, a11, a12, grid, con, jbok);

gra.addobject(4, 5, 1, 1, a5, a6, a7, a8, a9, a10, a11, a12, grid, con, next);

jbok.addActionListener(this);

next.addActionListener(this);next.setMnemonic('n');

jtanswer.addActionListener(this);

createnumberandoperation();

jlsetresualt.setText(numberfirst+operating+numbersecond+"=");

setTitle("一百以内加减乘除运算");

setBounds(400,200,400,300);

setVisible(true);

addWindowListener(new WindowAdapter()

{public void windowClosing(WindowEvent e)

{(e.getWindow()).dispose();

System.exit(0);

}});

}

public static void main(String s[])

{

JWindow jw=new JWindow();

jw.add(new JLabel(new ImageIcon("1.jpg")));//you can make a picture that welcome the guset

jw.setBounds(400, 200, 400, 400);

jw.setVisible(true);

try {

Thread.sleep(2000);

} catch (InterruptedException e) { }

jw.dispose();

Caculater ca=new Caculater();

ca.start();

}

public void actionPerformed(ActionEvent e)

{

if((e.getSource()==jtanswer||e.getSource()==jbok)!jtanswer.getText().equals(""))

{if(!isanswered)

{

if(jtanswer.getText().equals(resualt+""))

{

advice.setText("right");

count++;

rightface.setVisible(true);

}

else

{advice.setText("wrong");

wrongface.setVisible(true);

}

jbok.setVisible(false);

isanswered=true;

if(numbercount==10)

{jtanswer.setVisible(false);

numbercount++;

jlsetresualt.setText("您共答对了"+count+"道题,得分"+count*10+"分。");

}

}

else

isanswered=false;

}

if(e.getSource()==next)

{

wrongface.setVisible(false);

rightface.setVisible(false);

isanswered=false;

jbok.setVisible(true);

numbercount++;

createnumberandoperation();

jlsetresualt.setText(numberfirst+operating+numbersecond+"=");

jtanswer.setText("");

advice.setText("");

if(numbercount==10)

{

next.setVisible(false);

}

}

}

public void start()

{

run();

}

public void run() {

long time1,time2;

time1=System.currentTimeMillis();

for(;numbercount!=11;)

{

time2=System.currentTimeMillis()-time1;

jlsettime.setText(time2/1000+"秒");

if(time2300*1000)

break;

}

numbercount=10;

jtanswer.setVisible(false);

jbok.setVisible(false);

next.setVisible(false);

jlsetresualt.setText("您共答对了"+count+"道题,得分"+count*10+"分。");

}

}

java随机函数可以随机指定的几位数吗?如果有,具体怎么用?

将这三个数字放在数组中,然后随机生成下标,就可以选择了,java中有Random类,可以帮助你生成随机数,你可以到f1208社区看看,里面有很多数组的例子