黑马程序员技术交流社区

标题: java编写随机字符 [打印本页]

作者: Himoriarty    时间: 2015-4-9 13:24
标题: java编写随机字符
使用System.CurrentTimeMillis()显示任意一个大写字母。
作者: 奋斗_168    时间: 2015-4-9 13:24
刚才说的不够详细,再来一次
public class daxie{
        public static void main(String[] args){
                long haomiao = System.currentTimeMillis();
                //因为ASCII 65 ~ 90 是大写字母
                int b = (int)((haomiao/1000)%26+65);
                char daxiezimu = (char)b;
                System.out.println(haomiao);
                System.out.println(daxiezimu);
        }
}
作者: 1017161726    时间: 2015-4-9 15:02
System.currentTimeMillis()是显示系统时间的,long类型。其最后3位为毫秒计时,取后两位
可以转成字符串提取出来int,然后(char)('A'+int/4) ,然后可以判断是96或97为Y,98或99为Z。
O了
作者: 不想拥有太多情    时间: 2015-4-9 16:21
public class Test {         public static void main(String[] args) {                                  for(int j=0;j<50;j++){                         long i = 65+System.currentTimeMillis()%26;                         try {                                 new Thread().sleep(100);                         } catch (InterruptedException e) {                                 // TODO Auto-generated catch block                                 e.printStackTrace();                         }                         char c=(char) i;                         System.out.println(c);                 }         } }
作者: 奋斗_168    时间: 2015-4-9 16:59
这两种都可以
long time = System.currentTimeMillis() ;
int num1 = (int) (time % 25) +65; //将time限幅到区间[65,90]内
System.out.println((char)num1);
               
int num = new Random().nextInt(26) + 65;
System.out.println((char)num);
作者: 2015黑马之路    时间: 2015-4-9 17:57
//对26求余 得到的余数是 0-25
  1. char letter = (char)(int)(System.currentTimeMillis() % 26 + 65);
复制代码

作者: 缤纷落叶    时间: 2015-4-9 21:37
大神啊...................................
作者: luomolight    时间: 2015-4-10 00:27
(char)(0x41 + System.CurrentTimeMillis() % 26)
作者: Hivan    时间: 2015-4-10 21:10
将获取到的long类型的数据随便截取,然后强转成char类型就哦了, java用的是阿斯克码表,可以包含所有的汉字,字母,数字等等吧
作者: zhy7201    时间: 2015-4-11 00:53
都是大神啊,路过~~~
作者: Himoriarty    时间: 2015-4-12 21:08
不想拥有太多情 发表于 2015-4-9 16:21
public class Test {         public static void main(String[] args) {                                  for(int j=0;j

这个我还没学到看不懂啊
作者: sisel    时间: 2015-4-14 15:28
System.out.println((char)(System.CurrentTimeMillis()%26+65));




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2