欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

两个javaSE 高频面试题

程序员文章站 2024-03-12 16:12:26
...

按如下规则输出10行:

                  1 		
          	  4   2	4 		
            9  6  3	6	9 	
   16	 12   8   4	8	12	16 
25 	20  15   10   5	10	15	20	25
public class Test {
	
public static void main(String[] args) {
		 int num = 4;
		 for (int i = 1; i <= num; i++) { 
		 format(num ,i);
		 write(i);
		 }
	}
	public static void write(int i) {	
		for(int k =i ;k>0 ; k--){
			System.out.print(k*i + " ");
		}
			for(int m=1;m<i;m++){
		
			System.out.print((m+1)*i+ " ");
		}
		
		System.out.println();
	}

	public static void format(int num, int i) {
		for (int k = 2 * (num - i); k >= 0; k--)
			System.out.print(" ");
	}
	
}

两个javaSE 高频面试题

打印如下四边型:
输入一个数字:9
80 48 28 16 9 1
32 20 12 7 3 4
12 8 5 5 8 12
4 3 7 12 20 32
1 9 16 28 48 80

public class Test2 {
	    public static void main(String[] args) {
	    	System.out.println("请输入一个数字");
	        while (true) {
	            Scanner scanner = new Scanner(System.in);
	            int num = 0;	 
	            if (scanner.hasNextInt()) {
	            	num = Integer.parseInt(scanner.next());
	             }
	            num = num / 2 + 1;

	            int[][] right = new int[num][num];
	            //
	            //1
	            //3	 4
	            //5	 8	12
	            //7	 12 20  32
	            for (int i = 1; i <= num; i++) {
	                for (int j = 1; j <= i; j++) {
	                    if (j == 1) {
	                    	right[i - 1][j - 1] = 2 * i - 1;
	                    } else {
	                    	right[i - 1][j - 1] = right[i - 2][j - 2] + right[i - 1][j - 2];
	                    }
	                }
	            }
	            //
	            //  7 	12 	20	32
	            //    	12 	8 	5
	            //	    	4   3
	            //		   		1
	            int[][] left = new int[num][num];
	            for (int i = 0; i < num; i++) {
	                for (int j = 0; j < num; j++) {
	                	left[num - i - 1][num - j - 1] = right[i][j];
	                }
	            }
	            for (int i = 1; i <= num; i++) {
	                System.out.println();
	                for (int j = 1; j <= num; j++) {
	                    if (left[i - 1][j - 1] != 0) {
	                        System.out.print(left[i - 1][j - 1] + "\t");
	                    } else {
	                        System.out.print("\t");
	                    }
	                }
	                for (int j = 1; j <= i; j++) {
	                    System.out.print(right[i - 1][j - 1] + "\t");
	                }
	             
	            }
	        }
	    }
	}

两个javaSE 高频面试题

相关标签: javase面试题