标签:art 开发 判断 case spec math 第一个 int() 适应
小驼峰法
大驼峰法(即帕斯卡命名法)
单词间用下划线(_)分割 :underscope_case
先制造核心发动机,不用忙着写主程序,每个方法要有文档:
例子:输入给定范围内的素数
package cn.edu.mju.dev; import java.util.Scanner; public class PrimeFinder { /** * main function * @param args */ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("start:"); int begin, end, count = 0; long sum = 0; begin = scanner.nextInt(); System.out.println("end:"); end = scanner.nextInt(); for(int i = begin; i <= end; i++){ if(isPrime(i)) { count ++; sum += i; System.out.print("\t"+i); if(count % 10 == 0) System.out.println(); } } } /** * 判断是否是质数 * @param 带判定的数 * @return * true 是质数 * false 不是质数 */ private static boolean isPrime(int num) { // special case if(num <= 1) return false; if(num == 2) return true; // general case int i; for(i = 2; i < num; i++) { if (num % i == 0) break; } return i == num; } }
上例算法不够先进,我们需要进行代码的优化,只要判断待测数num能不能被2-待测数的平方根√num整除即可:
package cn.edu.mju.dev; import java.util.Scanner; public class PrimeFinder { /** * main function * @param args */ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("start:"); int begin, end, count = 0; long sum = 0; begin = scanner.nextInt(); System.out.println("end:"); end = scanner.nextInt(); for(int i = begin; i <= end; i++){ if(isAdvPrime(i)) { count ++; sum += i; System.out.print("\t"+i); if(count % 10 == 0) System.out.println(); } } } /** * 判断是否是质数 * @param 带判定的数 * @return * true 是质数 * false 不是质数 */ private static boolean isPrime(int num) { // special case if(num<1) return false; if(num == 2) return true; // general case int i; for(i = 2; i < num; i++) { if (num % i == 0) break; } return i == num; } /** * 判断是否是质数(大数据适应版) * @param 带判定的数 * @return * true 是质数 * false 不是质数 */ private static boolean isAdvPrime(int num) { // special case if(num <= 1) return false; if(num == 2) return true; // general case int i; int sqrt = (int)Math.sqrt(num); for(i = 2; i <= sqrt; i++) { if (num % i == 0) break; } return i == sqrt + 1; } }
总结:
标签:art 开发 判断 case spec math 第一个 int() 适应
原文地址:https://www.cnblogs.com/Magic-Dev/p/11524200.html