Java 打印以金字塔样式翻转的数字
我正在尝试使用for循环打印类似的内容:Java 打印以金字塔样式翻转的数字,java,string,for-loop,Java,String,For Loop,我正在尝试使用for循环打印类似的内容: 1 121 12321 1234321 123454321 对于正确的数字,您必须按相反的顺序打印数字,以便进行如下更改: //right diguts for(int b = 1; b <= i; b++){ System.out.print(b); } 实际上没有必要把1分开。您可以将其包含在公共逻辑中: public class Pyramid { public sta
1
121
12321
1234321
123454321
对于正确的数字,您必须按相反的顺序打印数字,以便进行如下更改:
//right diguts
for(int b = 1; b <= i; b++){
System.out.print(b);
}
实际上没有必要把1分开。您可以将其包含在公共逻辑中:
public class Pyramid {
public static void main(String[] args) {
int mid = 1;
for (int i = 0; i <= 4; i++) {
// left spaces
for (int x = 4; x > i; x--) {
System.out.print(" ");
}
// left digits
for (int z = 1; z <= i; z++) {
System.out.print(z);
}
// middle digit
System.out.print(mid);
mid++;
// right digits
for(int b = i; b > 0; b--){
System.out.print(b);
}
// right spaces
for (int y = 4; y > i; y--) {
System.out.print(" ");
}
System.out.println();
}
}
}
公共类金字塔{
公共静态void main(字符串[]args){
int-mid=1;
对于(int i=0;i i;x--){
系统输出打印(“”);
}
//左数位
对于(intz=1;z0;b--){
系统输出打印(b);
}
//右空格
对于(int y=4;y>i;y--){
系统输出打印(“”);
}
System.out.println();
}
}
}
这其实是一个不错的高尔夫拼图!
我只使用了两个循环
我可以问一下为什么我们需要Math.abs()?顺便说一句,每行前面都有一个额外的空间。要删除每行前面的额外空间,只需在第二个循环中更改
int j=1
//right diguts
for(int b = 1; b <= i; b++){
System.out.print(b);
}
//right diguts
for(int b = i; b > 0; b--){
System.out.print(b);
}
public class Pyramid {
public static void main(String[] args) {
int mid = 1;
for (int i = 0; i <= 4; i++) {
// left spaces
for (int x = 4; x > i; x--) {
System.out.print(" ");
}
// left digits
for (int z = 1; z <= i; z++) {
System.out.print(z);
}
// middle digit
System.out.print(mid);
mid++;
// right digits
for(int b = i; b > 0; b--){
System.out.print(b);
}
// right spaces
for (int y = 4; y > i; y--) {
System.out.print(" ");
}
System.out.println();
}
}
}
int n = 5;
for(int i=0; i < n; i++){
for(int j=0; j < 2*n; j++){
int abs = Math.abs(n-j);
System.out.print(abs>i ? " " : i-abs+1);
}
System.out.println();
}
1
121
12321
1234321
123454321