[英]How to make a numbers triangle in Java using loops, numbers starting from right
[英]How to make a java program with output a triangle of numbers?
我了解与此类似,但根据答案,我不能将答案都应用于当前课程,也不能理解其余答案。
我需要使用嵌套的“ 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();
}
}
}
我认为可以通过以下简单步骤完成:1.打印前导空格2.打印递增数字3.打印递减数字4.打印尾随空格5打印换行。
示例代码(概念)如下。
int row = 10;
for(int i=1; i<=numRow ; i++){
int num = 1;
for(int j=0; j<numRow- i; j++ ){
System.out.print(" ");
}
for(int j=numRow-i+1; j<=numRow ; j++ ){
System.out.print(num+" ");
num=num*2;
}
num=num/2;
for(int j=numRow+1; j<numRow+i; j++ ){
num=num/2;
System.out.print(num+" ");
}
for(int j=numRow+i+1; j<=numRow*2; j++ ){
System.out.print(" ");
}
System.out.print("\n");
}
您根本不会更改k
。 您需要一直将其乘以2直到到达行的中间,然后开始将其除以2。就目前而言,在System.out.println(k)
,如何期望它打印除2外的任何内容如果你从不操纵它? :)
另外,您在System.out.println(k);;
有两个分号。 。 这对我来说似乎很奇怪,但是我认为它可以编译实际上是有道理的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.