这是问题所在:
编写一个名为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-
答案 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 ++;
}
}
}