1. java 使用Math.random()产生一个100以内的随机数;
1)使用Java产生一个指定数x以内的随机数。
publicstaticvoidmain(String...args){
intx=100;//上界。
java.util.Randomrandom=newjava.util.Random();
//返回0tox的一个随机数但不会取到x,即返回[0,x)闭开区间的值。
intrn=random.nextInt(x);
System.out.println(rn);
}
2)使用Java产生一个指定区间x到y的随机数。
publicstaticvoidmain(String...args){
intx=100;//下界。
inty=200;//上界。
java.util.Randomrandom=newjava.util.Random();
//返回xtoy之间的一个随机数,不仅可以取到下界x还可以取到上界y,即返回[x,y]的闭区间。
intrn=random.nextInt(y-x+1)+x;
System.out.println(rn);
}
注:上面调用nextInt获取的是正整数,如果要获取浮点数可以调用nextFloat()。
2. java利用随机数生成50以内的整数进行加减
import java.util.Scanner;
import java.util.Random;
import java.util.Calendar;
public class Demo
{
public static void main(String[] args)
{
(!isExit)
{
showMenu();
processMenu(Integer.parseInt(sc.nextLine()));
}
System.out.println("共回答"+total+"个,对"+right+"个,错"+wrong+"个。");
}
static void showMenu()
{
System.out.println("菜单\n0、退出\n1、加法\n2、减法\n请选择一个菜单:");
}
static void processMenu(int m)
{
switch(m)
{
case 0:
isExit=true;
break;
case 1:
while(answer(1));
break;
case 2:
while(answer(2));
break;
}
}
static boolean answer(int m)
{
int left=2,a;
String s;
num1=r.nextInt(50);
num2=r.nextInt(50);
total++;
do
{
switch(m)
{
case 1:
System.out.print(""+num1+"+"+num2+"=");
a=Integer.parseInt(sc.nextLine());
if(a==num1+num2)
{
right++;
System.out.println("回答正确!");
left=0;
}
else if(--left>0)
{
System.out.println("回答错误,你还有"+left+"次机会!");
}
else
{
System.out.println("错误!");
wrong++;
}
break;
case 2:
System.out.print(""+num1+"-"+num2+"=");
a=Integer.parseInt(sc.nextLine());
if(a==num1-num2)
{
right++;
System.out.println("回答正确!");
left=0;
}
else if(--left>0)
{
System.out.println("回答错误,你还有"+left+"次机会!");
}
else
{
System.out.println("错误!");
wrong++;
}
break;
}
}while(left>0);
System.out.println("是否继续?y/n");
s=sc.nextLine();
return (s.equals("y") || s.equals("Y"));
}
static boolean isExit=false;
static int num1,num2,total=0,right=0,wrong=0;
static final Scanner sc=new Scanner(System.in);
static final Calendar c=Calendar.getInstance();
static final Random r=new Random(c.getTimeInMillis());
}
3. 如何用java生成十个不相等1-100整数随机数
粗略的看了其他楼的答案,虽然大部分都能实现,但没有精妙的地方,而好的程序在于精妙,这样才能执行的更快速。我看了我6L的,说实话,他的程序还不错,只是他忽略了一点,他的循环只有一次,而如果数字有重复的情况下,SET就很难存到 10 个数字,不信的话,楼主可以吧他程序里的 100 改成 20 试试,问题就很明显了。
以下是我随手写的,相比6L,显得好多了。
public class Test2 {
public static void main(String[] args){
Random ran = new Random();
Set <Integer> set = new HashSet<Integer>();
while(set.size()==10?false:true){
int num = ran.nextInt(100)+1;
set.add(num);
}
Iterator<Integer> it = set.iterator();
int count = 0;
while(it.hasNext()){
System.out.println("第"+ ++count +"个随机数 =="+it.next());
}
}
}
4. java 生成随机整数
方法一代码:
import java.util.Random;
public class Test {
public static void main(String[] args){
Random rand = new Random();
for(int i=0; i<10; i++) {
System.out.println(rand.nextInt(100) + 1);
}
}
}
方法二代码:
package e.sjtu.erplab.io;
import java.util.Random;
public class RandomTest {
public static void main(String[] args) {
int max=20;
int min=10;
Random random = new Random();
int s = random.nextInt(max)%(max-min+1) + min;
System.out.println(s);
}
}
5. java中怎么随机生成3位整数.
public int getRandom() {
int number = 0;
while (true) {
number = (int) (Math.random() * 1000);
if (number >= 100 && number < 1000) {
break;
}
}
return number;
}
6. Java用Math.random()生成一个50-100间的整型随机数
代码如下:
public class text {
public static void main(string[ ] args) {
int num =(int) (Math.random( )*50+50) ;
system.out.println(num);
}
}
random产生的是(0,1)的小数。
如果想要产生50--100之间的数字;
先让它产生[0--50)之间的数字,也就是 random()*50
然后在后面加上50,也就是random()*50+50;
得到的就是[50--100]的整数了。
(6)java随机数生成整数扩展阅读
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等
7. java中如何产生1000个随机的整数
/**
*2015年10月23日下午8:37:31
*
*@authorcs12110TODO完成程序
*/
publicclassJoke{
/**
*获取长度为len的一维数组:随机整数
*
*@paramlen
*长度
*@return
*/
publicint[]getRandomNumber(intlen){
if(len<1){
len=1;
}
int[]arr=newint[len];
for(intindex=0;index<len;index++){
arr[index]=(int)(Math.random()*1000);
}
returnarr;
}
/**
*对数组进行排序
*
*@paramarr
*数组
*/
publicvoidsort(int[]arr){
if(null==arr){
return;
}
for(intindex=0;index<arr.length;index++){
for(intj=0;j<arr.length-index-1;j++){
if(arr[j+1]<arr[j]){
inttemp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
/**
*打印数字
*
*@parammaxIndex
*数字最大界限
*/
publicvoiddisplay(int[]arr){
for(intindex=0;null!=arr&&index<arr.length;index++){
if(0==index%10){//输出10个数字换行输出
System.out.println();
}
System.out.print(arr[index]+"");
}
}
publicstaticvoidmain(String[]args){
Jokejoke=newJoke();
joke.goOn("输进任意键,获取1000个随机数");
int[]tempArr=joke.getRandomNumber(1000);
//joke.goOn("输进任意键,打印1000个随机数");
//joke.display(tempArr);
joke.goOn("输进任意键,开始对随机数排序");
joke.sort(tempArr);
joke.display(tempArr);
}
}
8. java如何产生1-8的整数随机数
(int)(Math.random()*8)+1
或者
Random r =new Random(100);
System.out.println(r.nextInt(8)+1);
Java产生随机数的两种方式
1、通过Math.random()方法返回一个0到1之间的double值。
2、通过Random类来产生一个随机数,这个是专业的Random工具类,功能强大。
Math.random()方法
Math.random()方法是 Java 的一个静态方法,返回一个0到1之间,前闭后开区间的double值。
(int)(Math.random()*10) 返回0到9的随机整数。
(int)(Math.random()*n) 返回0到n的随机整数。
(int)(Math.random()*100)+1 返回1到100之间的随机整数,前面返回0到99之间的随机数,加1就成了1到100之间的随机数。
Random类
Random 类是 Java 的 util 包中的一个类。
一、Random类使用说明
Random类使用的根本策略是分带种子和不带种子的Random的实例。
通俗说,两者的区别是:带种子的,每次运行生成的结果都是一样的。
不带种子的,每次运行生成的都是随机的,没有规律可言。
创建不带种子的Random对象
Random random = new Random();
使用一个和当前系统时间对应的相对时间有关的数字作为种子数。
创建带种子的Random对象有两种方法:
1) Random random = new Random(10);
2) Random random = new Random();random.setSeed(10);
种子的作用是什么?
种子就是产生随机数的第一次使用值,机制是通过一个函数,将这个种子的值转化为随机数空间中的某一个点上,并且产生的随机数均匀的散布在空间中。以后产生的随机数都与前一个随机数有关。
举例:
Random r =new Random(100);
System.out.println(r.nextInt(20));
100是种子,r.nextInt(20)中的20是随机数的上限,产生的随机数为0-20的整数,不包括20,种子数只是随机算法的起源数字,和生成的随机数字的区间没有任何关系。
初始化时100并没有起直接作用(注意:不是没有起作用)。
9. java程序编写:使用Math类提供的随机数生成方法,产生一个1~100的随机整数并输出。
这个是我写的一个产生0-100的随机数的程序,
当然数的范围你可以自己定 Math.round(Math.random()*100),后面这个100你可以改成你自己想要的数
import javax.swing.*;
import java.awt.event.*;
public class RandomUsage extends JFrame
implements ActionListener
{
JButton bt=new JButton("随机数");
JLabel jt=new JLabel();
public RandomUsage()
{
this.setTitle("产生随机数");
this.setBounds(100,100,300,150);
this.setLayout(null);
this.add(bt);
bt.addActionListener(this);
bt.setBounds(20,20,80,50);
this.add(jt);
jt.setBounds(120,20,80,50);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==bt)
{
jt.setText(String.valueOf(Math.round(Math.random()*100)));
}
}
public static void main(String args[])
{
new RandomUsage();
}
}
10. java生成-100到100之间的随机整数
importjava.util.Random;
publicclassText{
publicstaticvoidmain(String[]args){
制Randomrand=newRandom();
System.out.println(rand.nextInt(100-(-100)+1)+(-100));
}
}
求java指定区间的随机数
rand.nextInt(最大值-最小值+1)+最小值