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)+最小值