菜鸟的JAVA的初级问题,求教

来源:百度知道 编辑:UC知道 时间:2024/05/27 03:53:22
我想用java做出下面的效果
55551
55512
55123
51234
12345
可我的编码做不出来我想要的效果
int n=5,i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
if(i>j)
{
System.out.print(j);
}
else
{
System.out.print(n);
}
System.out.println();
}
}

请问要怎么改才能做到我想要的?
谢谢

int n=5,i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
System.out.print(n);
for(j=1;j<=i;j++)
System.out.print(j);

System.out.println();}
}
}

其实只是个思想的问题.给LZ一点提示.把左上角的5全拿掉,就变成这样了:
1
12
123
1234
12345
这个模型就很容易打印出来了,现在把前面的空格看成5,这样就可以了.

//关键还是看自己的,多理解多试。我这里没有java环境,这个是C的。不过你应该可以自己翻译过去,把打印语句换下就行了。
int main()
{
for (int i = 1;i<=5;i++)//行
{
for (int j = 1,k=1;j<=5;j++)//列,j负责打印5,k负责打印递增项
{
if (j<5-i+1)
{
printf("%d",5);//打印5
continue;
}
printf("%d",k++);//你可以把这句话注释掉看看效果。
}
printf("\n");//换行
}
return 0;
}

int n=5,a=0,b=0;
for(a=0;a<n;a++){
for(int c=0;c<n-a;c++){
System.out.print(n);
}
for(b=0;b<a;b++){
System.out.print(b+1);
}