2017-12-26和27学习笔记

143 阅读2分钟

switch可以匹配js中所有支持的数据类型(对象和数组除外),在Java中switch只支持能自动转换成int的数据类型,枚举,字符串。

求n!+(n-1)!+(n-2)!+...+3!+2!+1!

public class Test {

	static int fun(int n){
		int s=1;
		if(n>1)
		{
			for(int i=1;i<=n;i++) {
				s*=i;
			}
			return fun(n-1)+s;
		}
		else
			return 1;
	}
	
	public static void main(String[] args) {
		fun(10);
	}
}

打印一个三角:

public class Test { 
	
	public static void fun(int n) {
		for(int i = 1; i <= n; i++) {
			for(int j = 1; j <= i; j++) {
				if(j == i) {
					System.out.println("*");
				}
				else {
					System.out.print("*");
				}
			}
		}
	}

	public static void main(String[] args) {
			fun(5);
	}
}
输出:
*
**
***
****
*****

杨辉三角:


public class Test {
	
	public static void fun(int n) {
		for(int i = 1; i <= n; i++) {
			for(int j = 1; j <= 2*n; j++) {
				if(j == 2*n) {
					System.out.println();
				}
				else if(j >= n+1-i && j <= n-1+i) {
					System.out.print("*");
				}
				else {
					System.out.print(" ");
				}
			}
		}
	}

	public static void main(String[] args) {
		fun(4);
	}
}

输出:
   *   
  ***  
 ***** 
*******

菱形:


public class Test {
	
	public static void fun(int n) {
		for(int i = 1; i <= n; i++) {
			for(int j = 1; j <= (2 * n); j++) {
				if(j== 2 * n) {
					System.out.println();
				}
				else if(j == (n + 1 -i) || j == (n + i -1)) {
					System.out.print("*");
				}
				else {
					System.out.print(" ");
				}
			}
		}
		for(int i = 1; i <= ((2*n-1) - n); i++) {
			for(int j = 1; j <= (2 * n); j++) {
				if(j == 2 * n) {
					System.out.println();
				}
				else if(j == i+1 || j == 2*n-i-1) {
					System.out.print("*");
				}
				else {
					System.out.print(" ");
				}
			}
		}
	}

	public static void main(String[] args) {
		fun(5);
	}
}
输出:
    *    
   * *   
  *   *  
 *     * 
*       *
 *     * 
  *   *  
   * *   
    *    

画圆:

 
public class Test {
	public static void fun(int n) {
		for(int i = 0; i <= 2 * n; i++) {
			for(int j = 0; j <= 2 * n + 1; j++) {
				if(j == 2*n+1) {
					System.out.println();
				}
				else if(Math.floor((int) Math.round(Math.sqrt((i-n)*(i-n) + (j-n)*(j-n)))) == n) {
					System.out.print("*");
				}
				else {
					System.out.print(" ");
				}
			}
		}
	}

	public static void main(String[] args) {
		fun(15);
	}
}

输出:不要怀疑,这就是圆形。
            *******            
         ***       ***         
       **             **       
      *                 *      
     *                   *     
    *                     *    
   *                       *   
  *                         *  
  *                         *  
 *                           * 
 *                           * 
 *                           * 
*                             *
*                             *
*                             *
*                             *
*                             *
*                             *
*                             *
 *                           * 
 *                           * 
 *                           * 
  *                         *  
  *                         *  
   *                       *   
    *                     *    
     *                   *     
      *                 *      
       **             **       
         ***       ***         
            *******            

js函数语法:
function ① 函数名(param1,param2,param3②) {   ② //形参不要带var修饰
     //函数体
} ①和java不同的是,js即使函数有返回值,函数声明时也不用写返回值类型。
引入js文件:
<script language="javascript" src="../test.js"></script>
eval()函数可以把一个字符串当成函数执行,例:

str = "window.alert("ok")";
eval(str);