码迷,mamicode.com
首页 > 其他好文 > 详细

双重循环趣味题

时间:2016-08-14 23:57:00      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:

 
今天在做一些双重循环打印的趣味题,在这里分享一下我幼稚的代码:

1
/* 2 * 利用双重循环打印 3 * * 4 * *** 5 * ***** 6 * ******* 7 * ********* 8 * ******* 9 * ***** 10 * *** 11 * * 12 */ 13 14 public class Test { 15 16 public static void main(String[] args) { 17 int num1 = 1; 18 int num2 = 12; 19 20 for(int i = 0; i < 9; i++){ 21 for(int j = 0; j < (5-i); j++){ 22 System.out.print(" "); 23 } 24 if(i <= 4){ 25 for(int j = 0; j < (i+num1); j++){ 26 System.out.print("*"); 27 } 28 num1++; 29 } else { 30 for(int j = 0; j < (i-3); j++){ 31 System.out.print(" "); 32 } 33 for(int j = 0; j < (num2-i); j++){ 34 System.out.print("*"); 35 } 36 num2--; 37 } 38 39 System.out.println(); 40 } 41 } 42 }

感觉我的思维像是作拼图游戏
/*
 * 使用双重循环打印
 *     *
 *    * *
 *   *   *
 *  *     *
 * *       *
 *  *     *
 *   *   *
 *    * *
 *     *
 */

public class Test {
    
    public static void main(String[] args) {
        int num1 = -1;
        int num2 = 10;
        
        for(int i = 0; i < 9; i++){
            for(int j = 0; j < (5-i); j++){
                System.out.print(" ");
            }
            if(i <= 4){
                System.out.print("*");
                for(int j = 0; j < (i+num1); j++){
                    System.out.print(" ");
                }
                num1++;
            }else {
                for(int j = 0; j < (i-3); j++){
                    System.out.print(" ");
                }
                System.out.print("*");
                for(int j = 0; j < (num2-i); j++){
                    System.out.print(" ");
                }
                num2--;
            }
            if(i > 0 && i < 8){
                System.out.print("*");
            }
            System.out.println();
        }
        
    }
}

这个更像是做蛋糕一层一层的盖上去
/*
 * 使用双重循环打印
 * 1
 * 121
 * 12321
 * 1234321
 * 123454321
 */

public class Test {
    
    public static void main(String[] args) {
        int num1 = 0;
        for(int i = 0; i <5; i++){
            int num2 = i*2+1;
            int num3 = num2-num2/2;
            for(int j = 0; j < num2; j++){
                num1++;
                System.out.print(num1);
                if(num1 == num3){
                    break;
                }
            }
            for(int j = 0; j < num2; j++){
                num1--;
                if(num1 == 0){
                    continue;
                }
                System.out.print(num1);
                if(num1 == 1){
                    break;
                }
            }
            num1 = 0;
            System.out.println();
        }
    }
}

反正做这个的时候想到了剪纸

 

 

 

 

总之呢,结果很欢乐,有时都会觉得自己笨到无可救药......

双重循环趣味题

标签:

原文地址:http://www.cnblogs.com/yutanggege/p/5771266.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!