❶ java 如何创建一个类或方法能够给出产生指定位数的一个随机数
//代码如下:
publicstaticintgetNum(intsize)throwsException{
StringBuffersb=newStringBuffer();
if(size>1){
for(inti=0;i<size;i++){
while(i==0){
inttemp=(int)(Math.random()*10);
if(temp!=0){
sb.append(temp);
i++;
break;
}
}
sb.append((int)(Math.random()*10));
}
}elseif(size==1){
sb.append((int)(Math.random()*10));
}else{
thrownewException("输入的位数不正确!");
}
returnInteger.parseInt(sb.toString());
}
❷ java中怎么随机生成3位整数.
public int getRandom() {
int number = 0;
while (true) {
number = (int) (Math.random() * 1000);
if (number >= 100 && number < 1000) {
break;
}
}
return number;
}
❸ java生成随机三位数
public class Test2
{
public static void main(String [] srgs)
{
int i=(int)(Math.random()*900)+100;
//int i= new java.util.Random().nextInt(900)+100;也可以
System.out.println(i);
}
}
也就是要求100到999之间的随机数,
Math.random()返回的是0到1之间的随机数,返回类型为double型,大于等于0,小于1,
引用JDK1.6api
public static double random()返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。
Math.random()*900,就是0到900之间的数了,可以取到0,但是取不到900,但是这个乘积是double类型的,将它强制转换成int类型,然后加上100,就变成了可以取到100,但是取不到1000.完毕
❹ 在JAVA里怎么获得9~11位的随机数
获取随机数的方法,参数是需要获取的随机数的长度
/**
* 需要的长度
* @param length
*/
private static void getRadom(int length){
//获取一个随机数
double rand = Math.random();
//将随机数转换为字符串
String str = String.valueOf(rand).replace("0.", "");
//截取字符串
String newStr = str.substring(0, length);
System.out.println(newStr);
}
其实就是利用Math.random()方法生成一个随机的double数,然后转换为字符串,在字符串中去做操作
❺ java 随机数固定位数
importjava.math.BigDecimal;
importjava.util.Random;
publicclassRandomDemo{
publicstaticvoidmain(String[]args){
Randomrd=newRandom();
doublexr=rd.nextDouble()*100;
BigDecimalb=newBigDecimal(xr);
//参数说明2代表保留2为小数BigDecimal.ROUND_HALF_UP四舍五入
doublex=b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(x);
}
}
❻ 请问java生成任意位数的随机数
是这样的,java里面是没有这样的直接的函数的,楼上的只是说输出一个小于1的固定小数点的随机数字,我想楼主的意思是说随机生成随意的整数吧,我可以随机输出1-10位(计算机不可能输出没有位限制的数字,它随机生成的后面一般都是固定的位数,我用代码实现了在1-10位随机)的整数,如果你还要小数,就自己在代码上加上一个随机小数就ok啦,请看代码:public class RandomTest
{
public static void main(String[] args)
{
double rd=Math.random();
int max=(int)(Math.random()*10);
System.out.println("此次生成的数字的位数为:"+max+"位");
for(int i=0;i<max;i++) {
rd=rd*10;
}
double result=rd-rd%1;
java.text.DecimalFormat df =new java.text.DecimalFormat("#");
String end=df.format(result);
System.out.println("结果是: "+end);
}
}
❼ 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);
}
}
❽ Java如何得到一个18位的随机数
既然你能接受18为的数,那你可以用Math.random()*1000000000000000000得到。
如果说Math.random()不能精确到18位的话,当然我懒得去看,你自己试试到底能精确几位,比如只能精确到6位,那么如果随机数乘以1亿,得到的是前六位是随机的,你可以再做一个剩余几位的随机数加到前面那个随机数里面进去,这样得到的应该是个1亿内的随机数。
那你可以这么做,
Math.random*10000000000000000000+Math.random()*1000000000000+Math.random()*10000000;同理,其他任意位的数字可以得到。
❾ java 随机生成一个六位数
publicclassGuessNum{
publicstaticvoidmain(String[]args){
inti=getRandomNum();
System.out.println("已生成随机数!");
System.out.println(i);//方便测试打印出随机数~~可删除~~
while(true){
try{
System.out.print("请输入一个6位正"+"整数:");
Readerreader=newInputStreamReader(System.in);
char[]b=newchar[6];
reader.read(b);
StringguessStr=newString(b).trim();
intguessInt=Integer.parseInt(guessStr);
if(guessInt==i){
System.out.println("恭喜猜对!");
break;
}
System.out.println("不对重猜!");
}catch(Exceptione){
System.out.println("输入有误!");
}
}
}
privatestaticintgetRandomNum(){
Randomr=newRandom();
returnr.nextInt(900000)+100000;
}
}
❿ java编码中怎样产生四位随机数
用这个代码:
java.util.Randomrandom=newjava.util.Random();
inta=random.nextInt(9000)+1000;//生成从0-指定数(不包括指定数)的整数
从1000-9999;可以看成从0+1000——8999+1000