-
Recent Posts
Recent Comments
Tags
adodb ajax android apache arguments box cache calendar css db document.ready EAN-13 excel forbidden framework getElementsByName hello world html IE java Javascript js keycode lazyload linux margin-top margin折叠 memcache mysql null php preload image QR Code session smarty wordpress xml 子主题 条形码 浮点数 盒子 质数 闲聊 雪 页面优化My Firends
Archives
Meta
Tag Archives: java
Java学习之计算质数
对于学习编程而言,求质数的算法应该都会接触到。
1. 基础算法
质数是指:在大于1的自然数中,所有只能被1和自己整除的数。
基于这个思想,我们用程序算法写出来,求100以内的质数:
for (int i=2; i<100; i++) {
for (int j=2; j<sqrt(i); j++) {
if (i % j == 0) {
break;
}
}
}
通过这个方法,我们排除了100以内,所有的非质数,剩下的就是质数了。
这个方法虽然正确,但是执行效率却非常低,当我们查找100000以内的质数时,需要消耗大量的CPU资源和时间。
Java中Calendar.DAY_OF_WEEK需要减一的原因
最近有点玩物丧志,很久没有来更新博客了。
如果要开发Android软件,还是得打好Java的基础啊~
今天继续学习
Java中对日期的处理需要用到Calendar类,其中有几个方法在使用时需要新手注意。
1. 在获取月份时,Calendar.MONTH + 1 的原因
Java中的月份遵循了罗马历中的规则:当时一年中的月份数量是不固定的,第一个月是JANUARY。而Java中Calendar.MONTH返回的数值其实是当前月距离第一个月有多少个月份的数值,JANUARY在Java中返回“0”,所以我们需要+1。
2. 在获取星期几 Calendar.DAY_OF_WEEK – 1 的原因
Java中Calendar.DAY_OF_WEEK其实表示:一周中的第几天,所以他会受到 第一天是星期几 的影响。
有些地区以星期日作为一周的第一天,而有些地区以星期一作为一周的第一天,这2种情况是需要区分的。
看下表的返回值
| 星期日为一周的第一天 | SUN | MON | TUE | WED | THU | FRI | SAT |
| DAY_OF_WEEK返回值 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 星期一为一周的第一天 | MON | TUE | WED | THU | FRI | SAT | SUN |
| DAY_OF_WEEK返回值 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
所以Calendar.DAY_OF_WEEK需要根据本地化设置的不同而确定是否需要 “-1”
Java中设置不同地区的输出可以使用 Locale.setDefault(Locale.地区名) 来实现。
3. 获取日期时 Calendar.DAY_OF_MONTH 不需要特殊的操作,他直接返回一个月中的第几天