Java 算法

 

 1 package com.test;
 2 /**
 3  * 打印出 100 以内的素数
 4  * 素数又称为质数,它的定义是:只能被 1 和被自己整除的整数。其中, 1 不是素数,任何时候都不用考虑 1。
 5  * @author Intel
 6  *
 7  */
 8 public class Prime {
 9 
10     public static void main(String[] args) {
11         for (int i = 1; i < 100; i++) {
12             if (isPrime(i)) {
13                 System.out.print(i + "  ");
14             }
15         }
16     }
17 
18     private static boolean isPrime(int num) {
19         if (num == 1) {
20             return false;
21         }
22         
23         for (int i = 2; i <= Math.sqrt(num); i++) {
24             if (num % i == 0) {
25                 return false;
26             }
27         }
28         return true;
29     }
30 
31 }
 1 package com.test;
 2 /**
 3  * 打印九九乘法口诀表
 4  * 
 5  *  循环体内定义两个变量,一个控制 * 列( i 变量),一个控制行( j 变量), i 变量每次循环都加一,但是它在换行以后又回到 1,
 6  *  j 变量则从 1~9,直到退出。
 7  *  
 8  * 该编程题的思路大致如下:
 9  *( 1) 循环 1~9, 采用两个循环变量, 一个控制行, 一个控制列。
10  *( 2) 每循环一次就打印一句, 若控制列的循环变量到底了, 则打印换行。
11  * @author Intel
12  *
13  */
14 public class NineNineMulitTable {
15 
16     public static void main(String[] args) {
17         for (int i = 1, j = 1; j <= 9; i++) {
18             System.out.print(i + "*" + j + "=" + i * j + "  ");
19             if(i==j){
20                 i=0;
21                 j++;
22                 System.out.println();
23             }
24         }
25 
26     }
27 
28 }

 

 1 package com.test;
 2 /**
 3  * 求10000--100000之间的回文数
 4  * @author Intel
 5  *
 6  */
 7 public class CircleNumber {
 8 
 9     public static void main(String[] args) {
10         for (int i = 10000; i < 100000; i++) {
11             if (isCircleNumber(i)) {
12                 System.out.println(i + "  ");
13             }
14         }
15     }
16 
17     private static boolean isCircleNumber(int num) {
18         int oldValue = num; // 保存数值
19         int temp = 0; // 反过来的值,初始化为 0
20         while (num > 0) { // 循环 number 的每一位数值
21             temp = temp * 10 + num % 10; // 得到一位数字
22             num /= 10; // num 减少一位
23         }
24         return temp == oldValue;
25     }
26 
27 }

 

 1 package com.test;
 2 
 3 import java.text.SimpleDateFormat;
 4 import java.util.Calendar;
 5 
 6 
 7 
 8 public class CalendarTest {
 9 public static void main(String[] args) {
10     
11     Calendar cal=Calendar.getInstance();
12     cal.add(Calendar.DATE,1);    //当前时间的前一天
13     System.out.println(cal.getTime().toLocaleString()); //2014-11-11 13:30:23
14     
15     
16     Calendar cal1=Calendar.getInstance();
17     cal1.add(Calendar.DATE,-1);
18     SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
19     String date=sf.format(cal1.getTime());
20     System.out.println(date);  
21     //2014-11-09 01:30:23
22     
23     
24 }
25 }

 

 1 package com.test;
 2 
 3 import java.util.HashMap;
 4 import java.util.Set;
 5 
 6 /**
 7  * 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。
 8  * @author Intel
 9  *
10  */
11 public class CharacterCount {
12 
13     public static void main(String[] args) {
14         String content = "你好我好大家好呵呵";
15         HashMap<String , Integer> map = new HashMap();
16         for(int i=0;i<content.length();i++)
17         {
18             String c = String.valueOf(content.charAt(i));
19             Integer num = (Integer) map.get(c);
20             if(num == null)
21                 num = 1;
22             else
23                 num = num + 1;
24             map.put(c,num);
25         } 
26         Set <String> keys=map.keySet();
27         for( String key: keys)
28         {
29             System.out.println(key + ":" + map.get(key));
30         }
31 
32 
33     }
34 
35 }

 

posted on 2014-11-10 14:47  @冰糖  阅读(139)  评论(0编辑  收藏  举报

导航