Topic: 有关随机数的问题

  Print this page

1.有关随机数的问题 Copy to clipboard
Posted by: ccxuejava
Posted on: 2008-04-11 18:51

import java.util.*;
public class Rand {
  public static void main(String args[]){
    Random r = new Random();
    for(int i=0;i<4;i++){
    System.out.print(Character.toChars(r.nextInt(26)+65));
    }
  }
}
这可以产生4个随机的大写字母,我还想产生这4个由数字,小写字母,大写字母混合组成,应该要怎么写啊.谢谢指点下.

2.Re:有关随机数的问题 [Re: ccxuejava] Copy to clipboard
Posted by: JiafanZhou
Posted on: 2008-04-14 16:38

数字,大写字母和小写字母的ASCII码分别是
48 - 57 (数字)
65 - 90 (大写字母)
97 - 122 (小写字母)

知道了这些,就很好写代码了:

import java.util.*;
public class Test {
public static void main(String args[]){
Random r = new Random();
for(int i=0;i<4;i++){
  switch(r.nextInt(3))
  {
   case 0:
   System.out.println(Character.toChars(r.nextInt(10)+48));
break;
case 1:
System.out.println(Character.toChars(r.nextInt(26)+65));
break;
case 2:
System.out.println(Character.toChars(r.nextInt(26)+97));
break;
  }
}
}
}

不过我觉得这个问题最好的方法是把所有字母数字放在一个Enum里面,然后随机求数。

Regards,
Jiafan

3.Re:有关随机数的问题 [Re: ccxuejava] Copy to clipboard
Posted by: ccxuejava
Posted on: 2008-04-15 21:56

谢谢啊~!


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923