需要在java中循环的帮助

时间:2016-06-21 03:03:44

标签: java loops

目前正在处理一些额外的问题集,似乎一直困在这个问题上。我需要输出以下内容:

16
20
34
-----
40
70
-----
40
40

我已经完成了交叉,但我遇到了中间线的问题,并希望有人可以帮助我搞清楚。到目前为止我的代码(输入设置为5):

    *   *    
    * *    
* * * * * 
  * *     
*   *    

当前输出:

public static void drawPlusVersion3(int input){
         if (input % 2 != 0)  {
 for(int c = 0; c < input; c++) {
        for(int r = 0; r < input; r++) {
            if((c == input / 2) || (r == input / 2)) 
                System.out.print("*");
            if ( c == r){
                System.out.print("*");
                }
            else 
                System.out.print(" ");
                System.out.print(" ");
        }
        System.out.println();
    }
}
    }

提前致谢!

2 个答案:

答案 0 :(得分:2)

您可以尝试:

    public static void drawPlusVersion3(int input){
        if (input % 2 != 0)  {
for(int c = 0; c < input; c++) {
       for(int r = input - 1; r >= 0; r--) {
           if((c == input / 2) || (r == input / 2) || c == r) 
               System.out.print("*");
           else 
               System.out.print(" ");
               System.out.print(" ");
       }
       System.out.println();
   }
}
   }

答案 1 :(得分:1)

这个怎么样:

for (int i = 0; i < input; i++) {
    for (int j = 0; j < input; j++) {
        if (j == input / 2 || i == input / 2 || i + j == input - 1) {
            System.out.print("* ");
        } else {
            System.out.print("  ");
        }
    }
    System.out.println();
}