我的输出是:
55555
4444
333
22
1
22
333
4444
55555
plz帮我解释这段代码(如何删除两个三角形之间的空格?)
public class series {
public static void main (String args[]){
Scanner in=new Scanner(System.in);
int n=in.nextInt();
if((n>=1 && n<=9)){
for(int i=0;i<=n;i++){
//spacing logic
for(int s=0; s < i; s++){
System.out.print(" ");
}
//main logic: loop1
for(int j=n ; j > i; j--){
System.out.print(n-i);
}
System.out.println();
}
for(int i=2;i<=n;i++){
//spacing logic
for(int s=n;s>i;s--){
System.out.print(" ");
}
//main logic: loop2
for(int j=1;j<=i;j++){
System.out.print(i);
}
System.out.println();
}
}
else{
System.out.println("Invalid Input");
}
}
}
答案 0 :(得分:1)
在第一个for循环中。不要把i&lt; = n但是i&lt; n,空间将消失。试着找出自己的原因。
格式正确(也删除了输入扫描线)。
public class series {
public static void main (String args[]){
int n=5;
if((n>=1 && n<=9)){
for(int i=0;i<n;i++){
//spacing logic
for(int s=0; s < i; s++){
System.out.print(" ");
}
//main logic: loop1
for(int j=n ; j > i; j--){
System.out.print(n-i);
}
System.out.println();
}
for(int i=2;i<=n;i++){
//spacing logic
for(int s=n;s>i;s--){
System.out.print(" ");
}
//main logic: loop2
for(int j=1;j<=i;j++){
System.out.print(i);
}
System.out.println();
}
} else{
System.out.println("Invalid Input");
}
}
}