用java输出菱形
publicclassTest{publicstaticvoidmain(String[]args)//第19题,打出图形.菱形{intn=3;//前3行.上半部分for...
public class Test{
public static void main(String[] args)//第19题,打出图形.菱形
{
int n=3;
//前3行.上半部分
for(int i=1;i<=n;i++)//控制行数
{
for(int k=n-1;k>=i;k--)//打印空格
{
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++)//打印*
{
System.out.print("*");
}
System.out.println();
}
}
}
哪位高手可以把下边两个for语句里的条件给我解释一下,我看不懂为什么呀。非常感谢 展开
public static void main(String[] args)//第19题,打出图形.菱形
{
int n=3;
//前3行.上半部分
for(int i=1;i<=n;i++)//控制行数
{
for(int k=n-1;k>=i;k--)//打印空格
{
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++)//打印*
{
System.out.print("*");
}
System.out.println();
}
}
}
哪位高手可以把下边两个for语句里的条件给我解释一下,我看不懂为什么呀。非常感谢 展开
1个回答
展开全部
最外围的for负责打印的行数,N多少就打印到多少行
里面的第一个for负责打印空格,为了从中间开始打印需要空出最后一行减去一个自己要打的*的一个位置,所以就是总行数减去1(int k=n-1)的例子。
最后一个for是负责打印*的,在上面的for空出来的地方开始打印*,而要做成菱形需要递增的形式增加*,而增加两颗*看起来是最顺眼的。这样的话每行打印的数就出来了:1,3,5,7,9……
这样要写一个不容易,但是每个数加上1的话就能看出都是2X的数了,j<=2*i-1就是这么出来的。
还有问题追问吧
里面的第一个for负责打印空格,为了从中间开始打印需要空出最后一行减去一个自己要打的*的一个位置,所以就是总行数减去1(int k=n-1)的例子。
最后一个for是负责打印*的,在上面的for空出来的地方开始打印*,而要做成菱形需要递增的形式增加*,而增加两颗*看起来是最顺眼的。这样的话每行打印的数就出来了:1,3,5,7,9……
这样要写一个不容易,但是每个数加上1的话就能看出都是2X的数了,j<=2*i-1就是这么出来的。
还有问题追问吧
追问
谢谢~可能还是有点不懂,不过我一会去问别人。
我是新手,想问问怎么能学好java
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询