package mypack;
public class Loop {
public static void main(String[] args) {
for(int i=0;i<=8;i++){
for(int j=1;j<=i+1;j++){
System.out.print(j);
}
System.out.println();
}
for(int i=8;i>=1;i--){
for(int j=1;j<=i;j++){
System.out.print(j);
}
System.out.println();
}
}
}
输出:
1
12
123
1234
12345
123456
1234567
12345678
123456789
12345678
1234567
123456
12345
1234
123
12
1
我希望它的镜像在右侧。 有人可以帮我这个。
答案 0 :(得分:1)
您可以使用number of spaces
String.format
<强>样品:强>
public static void main(String[] args) {
int j;
for (int i = 0; i <= 8; i++) {
for ( j = 1; j <= i + 1; j++) {
System.out.print(j);
}
System.out.print(String.format("%"+((10 - j)*2 != 0 ? (10 - j)*2 : "")+"s", ""));
for ( j = i + 1; j >= 1; j--) {
System.out.print(j);
}
System.out.println();
}
for (int i = 8; i >= 1; i--) {
for ( j = 1; j <= i ; j++) {
System.out.print(j);
}
System.out.print(String.format("%"+((10 - j)*2 != 0 ? (10 - j)*2 : "")+"s", ""));
for ( j = i; j >= 1; j--) {
System.out.print(j);
}
System.out.println();
}
}
<强>结果:强>
1 1
12 21
123 321
1234 4321
12345 54321
123456 654321
1234567 7654321
12345678 87654321
123456789987654321
12345678 87654321
1234567 7654321
123456 654321
12345 54321
1234 4321
123 321
12 21
1 1
答案 1 :(得分:1)
一种简单的方法是:
public static void main(String[] args) {
int limit = 10;
String left = "%-9s";
String right = "%9s";
for (int i = 0; i < limit; i++) {
StringBuilder b = new StringBuilder();
for (int j = 1; j < i + 1; j++) {
b.append(j);
}
System.out.println(String.format(left, b.toString())
+ String.format(right, b.reverse().toString()));
}
// skipping the redundant line from last syso in above loop
for (int i = limit - 2; i > 0; i--) {
StringBuilder b = new StringBuilder();
for (int j = 1; j < i + 1; j++) {
b.append(j);
}
System.out.println(String.format(left, b.toString())
+ String.format(right, b.reverse().toString()));
}
}
想法是打印序列(左对齐),然后在每次迭代中打印其反向(右对齐)。
答案 2 :(得分:0)
打包mypack;
public class Loop {
public static void main(String[] args) {
for(int i=0;i<=6;i++){
for(int j=1 ;j<=i+1;j++ ){
System.out.print(j);
}
System.out.print("\t");
for (int j=0;j<6-i;j++)
System.out.print(" ");
for (int k=1;k<=i+1;k++)
System.out.print(k);
System.out.println();
}
for(int i=6;i>=0;i--){
for(int j=1;j<=i+1;j++){
System.out.print(j);
}
System.out.print("\t");
for (int j=0;j<6-i;j++)
System.out.print(" ");
for (int k=1;k<=i+1;k++)
System.out.print(k);
System.out.println();
}
}
}
自己拿到它,谢谢大家..