你的分享就是我们的动力 ---﹥

求解答,两段代码运行结果不一样,该如何处理

求解答,两段代码运行结果不一样
以下有2段代码,本人找了很久都找不到它们的不同之处,但是运行结果却不一样,求解答
代码1:
package interesting;

import java.util.Scanner;

public class Re 
{

public static void main(String[] args) 
{
int i,j,k,n;
Scanner input=new Scanner(System.in);
System.out.print("请输入金字塔层数:");
n=input.nextInt();
for(i=1;i<=n;i++) 
{
 for(j=1;j<=n-1;j++)       
   System.out.print(" ");
 for(k=1;k<=2*i-1;k++)    
   System.out.printf("*");
System.out.printf("\n");
}


}

}
运行结果:
请输入金字塔层数:5
    *
    ***
    *****
    *******
    *********
-----------------------------------------------------------
代码2:
package interesting;

import java.util.Scanner;

public class Re1 
{
public static void main(String[] args) 
{
int i,j,k,n;
Scanner input=new Scanner(System.in);
System.out.print("请输入金字塔层数:");
n=input.nextInt();  
for(i=1;i<=n;i++)
{
              for(j=1;j<=n-i;j++)
System.out.print(" ");
  for(k=1;k<=2*i-1;k++)
System.out.printf("*");
System.out.printf("\n");
}
}
}

运行结果:
请输入金字塔层数:5
    *
   ***
  *****
 *******
*********

2段代码好像一样,但是第一段代码为什么输出不了金字塔?
------解决思路----------------------
 for(j=1;j<=n-i;j++) 一个是n-i,一个是n-1,能一样么
------解决思路----------------------
你在输出打印 “ ” 语句的for循环中的表达是不一样,前一个是就 j<=n-1,后一个是 j <=n-i。。。求解答,两段代码运行结果不一样,该如何处理
------解决思路----------------------
代码1中。循环的第二层循环:for(j=1;j<=n-1;j++)       
代码2中。循环的第二层循环: for(j=1;j<=n-i;j++)  

1中n减去的是1
2中n减去的是 i