zoukankan      html  css  js  c++  java
  • java常考小程序

        private static void nineNineMulitTable(){ 
    		/**
    		 * 9*9乘法表
    		 */
    		for (int i = 1,j = 1; j <= 9; i++) { 
    			System.out.print(i+"*"+j+"="+i*j+" "); 
    			if(i==j){
    				i=0;
    				j++; 
    				System.out.println();
    			} 
    		} 
    	}
    	/**
    	 * 判断是否为素数12=2*6=3*4 false
    	 * @param num 质数只能被1 和他本身整除
    	 * @return
    	 */
    	private static  boolean isPrimeNumber(int num ){
    		for (int i=2;i <= Math.sqrt(num);i++){
    			if(num % i == 0){
    				return false;
    			}
    		}
    		return true;
    	}
    	/**
    	 * 递归算阶乘4*3*2*1
    	 * @param num
    	 * @return
    	 */
    	private static int f(int num){
    		if(num == 1){
    			return 1;
    		}
    		return num * f(num-1);
    	}

        /**
        * “水仙花”
        */
        private static void flower(){
          for(int m=101;m<1000;m++){
            int b1 = m/100;
            int b2 = m%100/10;
            int b3 = m%10;
            int n = b1*b1*b1+b2*b2*b2+b3*b3*b3 ;
            if(m == n){
              System.out.println("--"+m);
            }
          }
      }

    斐波那契数列

    古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

             /**
          * 方法一,使用中间变量,赋值给最近的前两个数
           */
    	int f1 = 1, f2 = 1, f, M=24;      
    	for(int i=3; i<=M; i++) {       
    		f = f2;        
    		f2 = f1 + f2;       
    		f1 = f;        
    		System.out.println("第" + i +"个月的兔子对数: "+f2);          
    	}
            /**
    	 * 方法二,递归方法
    	 */
    	private static int fun(int m){
    		if(m<3){
    			return 1;
    		}else{
    			return fun(m-1)+fun(m-2);
    		}
    	}          

    常用的排序方法:

    /**
    	 * 冒泡排序
    	 * 依次比较相邻的两个数,将小数放在前面,大数放在后面  
    	 * 具有稳定性  
    	 * 时间复杂度为O(n^2)  
    	 * 不及堆排序,快速排序O(nlogn,底数为2)  
    	 * @param array
    	 */
    	private static void  buddleSort(int[] array){
    		for(int i=1;i < array.length;i++){
    			for(int j=0;j<array.length-i;j++){
    				int temp;
    				if(array[j] > array[j+1]){
    					temp = array[j];
    					array[j] =array[j+1];
    					array[j+1] = temp;
    				}
    			}
    		}
    	}
    	/**
    	 * 选择排序
    	 * @param array
    	 */
    	private static void selectSort(int[] array){
    		for(int i=0;i<array.length-1;i++){
    			for(int j=i+1;j<array.length;j++){
    				int temp;
    				if(array[i] > array[j]){
    					temp = array[j];
    					array[j] =array[i];
    					array[i] = temp;
    				}
    			}
    		}
    	}
    

      

        /**
    	 * 二分法查找算法,前提是有序的
    	 * @param args
    	 */
    	private static int BinarySearch(int[] array, int num){
    		int low =0;
    		int high = array.length - 1;
    		while(low <= high){
    			int mid = (low + high)/2;
    			if(num > array[mid]){
    				low = mid +1;
    			}else if(num < array[mid]){
    				high = mid -1;
    			}else{
    				return mid;
    			}
    		}
    		return -1;
    	}
    

      

     

  • 相关阅读:
    ejs不能读取js变量??????
    技术架构
    测试框架那些事儿
    如何跨团队带项目?
    自定义网址导航站-聚享导航
    vue+node+mongodb前后端分离博客系统
    聚享导航chrome插件发布
    NuxtJS实战,一个博客系统
    Essay3.0发布,基于JavaScript的前后端同构博客系统
    小程序开发中的一些坑和技巧
  • 原文地址:https://www.cnblogs.com/estellez/p/4309459.html
Copyright © 2011-2022 走看看