java中,随机产生1个四数,当不足四位时怎么补零

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中,随机产生1个四数,当不足四位时怎么补零相关的知识,希望对你有一定的参考价值。

参考技术A int x=(int)(Math.random()*1000);
String s = x + "";
List<String> list = new ArrayList<String>();
if(s.length() < 4) 
     for(int i = 0;i < 4 - s.length();i++) 
  list.add("0");
     

String result = list.toString().replace("[", "").replace("]", "") + s;

参考技术B 这个是要在输出时用到吧
判断一下 小于10前面加“000” 小于100加“00”. 小于1000加“0”追问

可以举个例子?

追答

int a=random.nextInt(10000);
String s=null;
if(a<10)
s="000"+a;
else if(a<100)
.......

不知道你的需求 例子也不好举。。

追问

import java.util.Random;
public class Randomnum

public static void main(String[] args)

Random r=new Random();

String koo;
int second=r.nextInt(743);
if(second<10)

koo="00"+second;

输出语句应该怎么写呢?

追答

直接输出koo就行了啊
必须把if else写完 保证koo一定能赋值

追问

知道了··

参考技术C 判断位数,三位的乘10,两位的乘100,一位的乘1000本回答被提问者采纳

JAVA 获取一个四位随机数(并且四位数不重复),并说明原理和算法

每次获取一个一位数的随机数存在一个 int[4]的整型数组,如果新获取的随机数在整型数组中已经存在了,就再获取一次(使用while循环)。然后把int[4]的数转换成四位数(这个应该简单吧,使用sum=sum*10+a[i]) 参考技术A 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 public class fournum 

public static void main(String[] args) 
int[] num = new int[4];
for (int i = 0; i < 4; i++) 
num[i] = (int)Math.floor(Math.random()*10);

for(int j=0;j<i;j++)
while(num[i]==num[j])
num[i] = (int)Math.floor(Math.random()*10);


int answer = num[0]*1000+num[1]*100+num[2]*10+num[3];
System.out.println(answer);
System.out.println((int)Math.floor(Math.random()*10));


public fournum() 
// TODO Auto-generated constructor stub


可以直接运行

参考技术C 想法: random(0,10).
取4次,每取一次,放入list
每次放入做判定,list里是否已经有此数,如果已存在继续取。

4个string相加 然后 你可以parse成你想要的格式。
参考技术D random类 可以先生成 在判断有重复就重新生成

以上是关于java中,随机产生1个四数,当不足四位时怎么补零的主要内容,如果未能解决你的问题,请参考以下文章

数字转换字符串 不足长度补零

如何在SQL里生成四位随机数?

java 一次生成一个无重复随机

sql中不足六位的补零该怎么写

求一个生成四位随机数的PHP代码

利用PHP随机出现0到1000的数,不足四位的前面用0补足