0

这就是问题:

编写一个名为 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-
4

2 回答 2

0

System.out.println();从每个循环中取出 2for并放入外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问题。尽管如此,你的逻辑是错误的,我没有解决这个问题。做你的作业。

于 2013-03-07T06:18:32.423 回答
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 ++;
         }
      }
   }
于 2015-06-04T16:56:23.873 回答