java控制台输入银行卡是卡号随机数怎么弄啊,求代码,没有思路,谢谢高手。

如题所述

第1个回答  2012-09-03
这个很简单,用Java的Math.Random函数。
因为你要控制9位数字,并且第一位不是0,所以随机数就是100000000~999999999之间产生。
而Math.Random函数产生的随机数范围是[0,1), 所以用一个函数就可以产生了:
String bankaccount = String.valueOf(Math.round(Math.random()*900000000+100000000));
这里注意一点:
1. 后面加多少(比方说+100),就说明随机数从哪个开始取
2. 那个乘数是最大的要达到的数值(当然你要加上基数,就是+100的值)。
3. 因为随机数区间是[0,1), 所以1是达不到的,所以应该*900000000, 而不是*899999999.
第2个回答  2012-09-03
public class test1
{
public static void main(String[] args)
{
for(int x = 0 ;x < 19; x ++){
int i = (int)(Math.random()*10);
if(x == 0 & i == 0){
x--;
continue;
}
System.out.print(i);
}
}

}本回答被网友采纳
第3个回答  2012-09-03
这样可以产生随机数:(int)Math.random()*100,你能把这句话给拆开吗--,问的什么啊?你自己念念看通顺否?追问

产生19位银行卡卡号,随机的,我不知道怎么写代码,0—9,但最开始不能是0,怎么写啊?

第4个回答  2012-09-03
java控制台输入银行卡是卡号随机数怎么弄啊? 这句话没听明白追问

就是随机产生卡号代码怎么写啊?eclipse在这里编写,求代码,谢谢

追答

public static void main(String[] args) throws Exception{
Random r = new Random();
String a1 = String.valueOf(r.nextInt(89999)+10000);
String a2 = String.valueOf(r.nextInt(89999)+10000);
String a3 = String.valueOf(r.nextInt(89999)+10000);
String a4 = String.valueOf(r.nextInt(89999)+10000);
String a5 = String.valueOf(r.nextInt(899)+100);
String account_id = a1+" "+a2+" "+a3+" "+a4+" "+a5;
System.out.println(account_id);
}
看看是不是你想要的;

public static void main(String[] args) throws Exception{
Random r = new Random();

String account_id = String.valueOf(r.nextInt(899999999)+100000000);
System.out.println(account_id);
}
这个更直接,至于位数 ,你直接改后边的 0 和 9就行了

相似回答