A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 葛迅 中级黑马   /  2013-3-28 17:07  /  2483 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 葛迅 于 2013-3-28 18:20 编辑

编写一个程序,用控制台进行输入和输出。
请问如何使用System.currentTimeMillis()方法显示任意一个大写字母?

请在后面写出详细的解释!
  谢谢,感激不尽!

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

6 个回复

倒序浏览
System.currentTimeMillis返回的系统当前的毫秒数,跟显示任意一个大写字母有什么关系呀?

回复 使用道具 举报
两种方法
(1)               
int num = new Random().nextInt(26) + 65;
System.out.println((char)num);
(2)
long time = System.currentTimeMillis() ;
int num1 = (int) (time % 25) +65; //将time限幅到区间[65,90]内
System.out.println((char)num1);

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
熊永标 发表于 2013-3-28 17:36
System.currentTimeMillis返回的系统当前的毫秒数,跟显示任意一个大写字母有什么关系呀?

...

这是书上的题目我也不能理解 所以发过来问下!
回复 使用道具 举报
苏冉 发表于 2013-3-28 18:08
两种方法
(1)               
int num = new Random().nextInt(26) + 65;

能解释写为什么吗、? 因为我实在无法理解题目的意思?
回复 使用道具 举报
应该就是将得到long类型,最终变成一个在【65,90】之间的int型。大写字母的ASCII值就在这个区间,强转成为char类型输入就成了。三楼的第二个方法就是了。{:soso_e179:}

评分

参与人数 2技术分 +1 黑马币 +12 收起 理由
陈丽莉 + 1
葛迅 + 12 很给力!

查看全部评分

回复 使用道具 举报
葛迅 中级黑马 2013-3-28 18:30:17
7#
董延京 发表于 2013-3-28 18:24
应该就是将得到long类型,最终变成一个在【65,90】之间的int型。大写字母的ASCII值就在这个区间,强转成为c ...

哦 原来是配合ASCII值 原来如此 我是没想到 厉害厉害 你这样一说我就明白了 哈哈哈!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马