A. 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);
}
}
B. 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的随机数生成功能。
C. java编码中怎样产生四位随机数
可以借助Math类里的random方法或者借助Random类来实现
1、使用Math类的random方法实回现产生1000-9999的随机数答代码如下:
int a = (int)(Math.random()*(9999-1000+1))+1000;//产生1000-9999的随机数
2、使用Random类实现代码:
import java.util.Random;//导入Random包
public class Ranadd {
public static void main(String[] args) {
int x;//定义两变量
Random ne=new Random();//实例化一个random的对象ne
x=ne.nextInt(9999-1000+1)+1000;//为变量赋随机值1000-9999
System.out.println("产生的随机数是:"+x);//输出
}
}
D. Java 随机取出一个各位数都不想等的四位数 求解答
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
import java.util.Set;
public class RandomNumber {
/**
* 获取一个四位随机数,并且四位数不重复
*
* @return Set<Integer>
*/
public static Set<Integer> GetRandomNumber() {
// 使用SET以此保证写入的数据不重复
Set<Integer> set = new HashSet<Integer>();
// 随机数
Random random = new Random();
while (set.size() < 4) {
// nextInt返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)
// 和指定值(不包括)之间均匀分布的 int 值。
set.add(random.nextInt(10));
}
return set;
}
public static void main(String[] args) {
Set<Integer> set = GetRandomNumber();
// 使用迭代器
Iterator<Integer> iterator = set.iterator();
// 临时记录数据
String temp = "";
while (iterator.hasNext()) {
temp += iterator.next();
// System.out.print(iterator.next());
}
37. System.out.println(temp);
38. }
39.}