首页 > 代码库 > Java 算法

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 Intel12  *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 = http://www.mamicode.com/num; // 保存数值19         int temp = 0; // 反过来的值,初始化为 020         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:2314     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:2322     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             else23                 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 }

 

Java 算法