如何使用for循环打印此模式,请使用注释行解释步骤
123454321
1234_4321
123 ___ 321
12 _____ 21
1 _______ 1
我知道如何只写左侧部分或右侧部分,但我不知道如何在两者之间输入正确数量的“_”。不要把代码发给我,只告诉我该怎么做
这不是我的作业
**我的解决方案**
public static void main(String[] args) {
int pointer = 6;
for(int i=0; i<=5; i++){
for(int j = 1; j<= i; j++){
if(pointer > j || j == 1) {
System.out.print(j);
} else {
System.out.print("_");
}
}
for(int j = 4; j > 0; j--) {
if(pointer > j || j == 1) {
System.out.print(j);
} else {
System.out.print("_");
}
}
pointer--;
System.out.println();
}
}
答案 0 :(得分:1)
我会做这样的事情:
String numbers = "123454321";
String[] remove = new String[]{"5", "4", "3", "2"};
System.out.println(numbers);
for (String current : remove) {
numbers = numbers.replace(current, "_");
System.out.println(numbers);
}
不使用数组编码:
String numbers = "123454321";
System.out.println(numbers);
for (int x = 5; x > 1; x--) {
numbers = numbers.replace(Integer.toString(x), "_");
System.out.println(numbers);
}
答案 1 :(得分:1)
根据我的写作,它与我编辑你的文字一样:
int pointer = 6;
for(int i=5;i>0;i--) {
// writing number from 1 to 5
// number 1 is always displayed
for(int j=1;j<6;j++) {
if(pointer > j || j == 1) {
System.out.print(j);
} else {
System.out.print("_");
}
}
// writing number from 4 to 1
// number 1 is always displayed
for(int j=4;j>0;j--) {
if(pointer > j || j == 1) {
System.out.print(j);
} else {
System.out.print("_");
}
}
// To add the line end and subtract the pointer
System.out.println("");
pointer--;
}
一般解决方案,其中n是最高数字。
int pointer = n+1;
for(int i=n;i>0;i--) {
// writing number from 1 to 5
// number 1 is always displayed
for(int j=1;j<n+1;j++) {
if(pointer > j || j == 1) {
System.out.print(j);
} else {
System.out.print("_");
}
}
// writing number from 4 to 1
// number 1 is always displayed
for(int j=n-1;j>0;j--) {
if(pointer > j || j == 1) {
System.out.print(j);
} else {
System.out.print("_");
}
}
// To add the line end and subtract the pointer
System.out.println("");
pointer--;
}
答案 2 :(得分:0)
这是我的问题解决方案
public static void main(String[] args) {
int i=0;
int count=0;
for (i = 5; i >= 0; i--) {
for (int j = 1; j <= i; j++) {
if(j!=5)
System.out.print(j);
}
if (i!=0) {
for (int m = 0; m < count; ++m) {
System.out.print("_");
}
}
for (int k = i; k > 0; k--) {
System.out.print(k);
}
System.out.println();
++count;
}
}
希望它可以帮到你