① java中生成隨機數
Java中生成隨機數,是編程中的常見需求,以下是一些基本的生成隨機數的方法。
要生成6位隨機數,可以使用以下語句: `System.out.println((int)((Math.random()*9+1)*100000));`。此方法通過調整乘法和加法操作的系數,確保生成的隨機數只包含6位。
生成5位隨機數,採用類似的策略: `System.out.println((int)((Math.random()*9+1)*10000));`,這里通過改變系數,將生成的隨機數限制在5位范圍。
生成4位隨機數的邏輯也相同: `System.out.println((int)((Math.random()*9+1)*1000));`,通過調整運算符,確保輸出的隨機數為4位。
Math.random()函數返回的是一個0.0到1.0之間的偽隨機浮點數(包括0.0,但不包括1.0)。這意味著函數的輸出均勻分布在這個范圍內。
還有一種方法使用`java.util.Random`類,例如: `java.util.Random rand =new Random(25);`。初始化`Random`對象時的參數25,並非直接對生成的隨機數產生影響,但可以控制隨機數生成的序列。使用`rand.nextInt(100);`則可以生成0到99的隨機整數,不包括100。
這些方法提供了Java中生成隨機數的基礎工具和策略,適應了不同場景下的需求。理解這些方法背後的邏輯,可以幫助開發者更靈活地運用Java的隨機數生成功能。
② JAVA 獲取一個四位隨機數(並且四位數不重復),並說明原理和演算法
import java.util.*;
public class Get4Number {
public static void main(String[] args) {
System.out.println(getNumber());
}
/** 得到一個0-9的隨機數 */
private static int getRandomNumber() {
return (int) ((Math.random() * 100) % 10);
}
/** 得到一個四位無重復數字的數 */
private static int getNumber() {
Set<Integer> set = new HashSet<Integer>();
while (true) {
int a = getRandomNumber();
set.add(new Integer(a));//Set裡面的元素是不重復的,如果重復是存不進去的。
if(set.size()>3)
break;
}
int index = (int) ((Math.random() * 100) % 4);
if(index==0){index+=1;}
Integer[] arr = new Integer[set.size()];
set.toArray(arr);
String s = "";
if(arr[0].intValue()==0){//如果第一位是0,則隨機和後面三位交換
Integer temp = arr[0];
arr[0] = arr[index];
arr[index] = temp;
}
for(int i=0;i<arr.length;i++){
s += arr[i].intValue();
}
return Integer.parseInt(s);
}
}