用数字和“ - ”嵌套循环

时间:2013-03-07 06:08:16

标签: java

这是问题所在:

编写一个名为printDesign的方法,该方法产生以下输出。使用嵌套for循环来捕获图形的结构。

-----1-----
----333----
---55555---
--7777777--
-999999999-

这就是我所拥有的:

public static void printDesign() {

    for(int dashAmt= 5; dashAmt >= 1; dashAmt--){
        for(int dash = 1; dashAmt <= dash; dash++){
            System.out.print("-");
        }
        System.out.println();
        for(int numAmt = 1; numAmt <= 9; numAmt+=2) {
            for(int num = 1; num1 <= numAmt; num++) {
                System.out.print(num);
            }
            System.out.println();
        }
    }
}

我的问题是如何将破折号与数字放在同一行,这样我才能得到:

-----1-----
----333----
---55555---
--7777777--
-999999999-

2 个答案:

答案 0 :(得分:0)

从每个System.out.println();循环中移除2 for并放入外for循环。

for(int dashAmt= 5; dashAmt >= 1; dashAmt--){
        for(int dash = 1; dashAmt <= dash; dash++){
            System.out.print("-");
        }
//        System.out.println(); // Removed
        for(int numAmt = 1; numAmt <= 9; numAmt+=2) {
        for(int num = 1; num <= numAmt; num++) { // Its num and not num1 - typo by you
                System.out.print(num);
            }
//            System.out.println(); // Removed
        }
      System.out.println(); // Put it here.
    }

注意:这只能解决您的sysout问题。尽管如此,你的逻辑是错误的,而我并没有解决这个问题。做你的作业。

答案 1 :(得分:0)

    public class PrintDesign {
        public static void main (String args[]) {
           printDesign();
        }

          public static void printDesign() {
           int b = 0;
           for (int i = 1; i <= 9; i += 2) {
                for (int k = 0 ; k < 5 - b; k++) {
                  System.out.print("-");
                }
                    for (int j = 1; j <= i; j++) {
                    System.out.print(i);
               }
                    for (int k = 0 ; k < 5 - b; k++) {
                        System.out.print("-");
                    }
                    System.out.print(" ");
                    System.out.print("");
                    System.out.println("");
                    b ++;
         }
      }
   }