黑马程序员技术交流社区

标题: 请问如何使用System.currentTimeMillis() [打印本页]

作者: 葛迅    时间: 2013-3-28 17:07
标题: 请问如何使用System.currentTimeMillis()
本帖最后由 葛迅 于 2013-3-28 18:20 编辑

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

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


作者: 熊永标    时间: 2013-3-28 17:36
System.currentTimeMillis返回的系统当前的毫秒数,跟显示任意一个大写字母有什么关系呀?


作者: 苏冉    时间: 2013-3-28 18:08
两种方法
(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);
作者: 葛迅    时间: 2013-3-28 18:10
熊永标 发表于 2013-3-28 17:36
System.currentTimeMillis返回的系统当前的毫秒数,跟显示任意一个大写字母有什么关系呀?

...

这是书上的题目我也不能理解 所以发过来问下!
作者: 葛迅    时间: 2013-3-28 18:10
苏冉 发表于 2013-3-28 18:08
两种方法
(1)               
int num = new Random().nextInt(26) + 65;

能解释写为什么吗、? 因为我实在无法理解题目的意思?
作者: 董延京    时间: 2013-3-28 18:24
应该就是将得到long类型,最终变成一个在【65,90】之间的int型。大写字母的ASCII值就在这个区间,强转成为char类型输入就成了。三楼的第二个方法就是了。{:soso_e179:}
作者: 葛迅    时间: 2013-3-28 18:30
董延京 发表于 2013-3-28 18:24
应该就是将得到long类型,最终变成一个在【65,90】之间的int型。大写字母的ASCII值就在这个区间,强转成为c ...

哦 原来是配合ASCII值 原来如此 我是没想到 厉害厉害 你这样一说我就明白了 哈哈哈!!




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