【发布时间】:2012-10-11 00:48:44
【问题描述】:
我知道有一篇与此类似的帖子,但根据答案,我不能同时将答案应用于我当前的课程,或理解其余的答案。
我需要使用嵌套的“for 循环”创建一个程序,该程序会创建一个像这样的输出(只是对称的)。我一直试图让这个工作整整两个晚上,但无法弄清楚......
1
1 2 1
1 2 4 2 1
1 2 4 8 4 2 1
1 2 4 8 16 8 4 2 1
1 2 4 8 16 32 16 8 4 2 1
1 2 4 8 16 32 64 32 16 8 4 2 1
1 2 4 8 16 32 64 128 64 32 16 8 4 2 1
如果有任何帮助,我将不胜感激!!!
public class PyramidOfDoom {
public static void main(String[] args)
int k = 2;
int totalWidth = 8;
for (int row = 1; row <= totalWidth; row++) {
for (int col = 1; col <= totalWidth; col++) {
if (col <= totalWidth - row) {
System.out.print(" ");
} else {
System.out.print(k);;
}
}
System.out.println();
}
}
}
【问题讨论】:
-
到目前为止,您尝试过哪些不适合您的方法?在为它工作了两个整个晚上之后,你肯定可以发布一些努力。
-
由于某种原因,它不允许我将我的代码复制并粘贴到评论部分......请稍等。
-
Ermm.. 很抱歉。有谁知道如何在这里获取我的代码?我尝试输入它,按回车键,它只是提交我的评论......呃,今晚很挣扎!
-
我们去!上传了我当前的代码。它的输出是三角形的一半,全是 2!
-
@BenToms 请记住,如果您正在努力解决编程问题,最好的办法是先解决一个更简单的问题。例如,对于这个特定的问题,我建议您首先编写一个函数,该函数将生成一个字符串,该字符串具有 2 的所有幂,直到
2^n,然后修改它以生成一个最高为2^n的字符串,然后返回到 @ 987654325@。一旦你把它弄下来,你可以在一个循环中重复它来生成你的金字塔,一旦你把它弄下来,你就可以担心输出居中了。