当前位置: 代码迷 >> Java相关 >> [求助]一个很简单的新手问题
  详细解决方案

[求助]一个很简单的新手问题

热度:72   发布时间:2007-09-12 23:25:43.0
[求助]一个很简单的新手问题

我是新手,刚接触JAVA,我想用for循环(只用for循环)打印出
* * * * * * *
* * * * *
* * *
*
这样的图案,不知道为什么错误。请高手示下。
class Page51_17_2
{
public static void main(String[] args)
{
for (int i=0;i<4;i++)
{
int b=7;
for (int j=0;j<i;j++)
{
System.out.print(" ");
}
for( ;b>0;b--)
{
System.out.print("*");
}
System.out.print("\n");
b-=2;
}
}
}



[此贴子已经被作者于2007-9-12 23:29:03编辑过]


----------------解决方案--------------------------------------------------------
class Page51_17_2
{
public static void main(String[] args)
{ int c=7;//不要把这个放到for里面了,要不每次都会运行一次c=7,所以你每次打出来的星星都是那么多
for (int i=0;i<4;i++)
{

for (int j=0;j<i;j++)
{
System.out.print(" ");
}

for(int b=c;b>0;b--)//
{
System.out.print("*");
}
System.out.print("\n");
c-=2;
}
}
}

----------------解决方案--------------------------------------------------------
楼上的说得很正确!
但有一点不明白,为什么不这样写:
class Page51_17_2
{
public static void main(String[] args)
{
int b=7;
for (int i=0;i<4;i++)
{
for (int j=0;j<i;j++)
{
System.out.print(" ");
}
for(;b>0;b--)//为什么?
{
System.out.print("*");
}
System.out.print("\n");
b-=2;
}
}
}

----------------解决方案--------------------------------------------------------

我认为都一样,for()在初始条件为空是可以的,可以输出满足条件的星号!


----------------解决方案--------------------------------------------------------

如果像你这么写的话,那么只能打印出一行来。因为你这个bi=0这一趟循环里面已经减为 -2了,当 i++ 以后每次判断 b>0 的条件永假,所以循环就得不到执行;


----------------解决方案--------------------------------------------------------
这种题就是看你能不能抓住规律,只要抓住规律就好写了。对于这道题,一共4行,你可以列出规律的:
0:7,0
1:5,1
2:3,2
3:1,3
这就是每一行对应的*数量和开头的空格数量,那么你就可以根据这个规律写循环了
----------------解决方案--------------------------------------------------------
class Star {
public static void main(String[] args) {
for(int i=0;i<4;i++){
for(int k=0;k<i;k++){
System.out.print(" ");
}
for(int j=0;j<7-2*i;j++){
System.out.print("*");
}
System.out.println();
}
}
}
可以参考一下
----------------解决方案--------------------------------------------------------
谢谢楼上各位!
----------------解决方案--------------------------------------------------------

谢谢啊?


----------------解决方案--------------------------------------------------------
  相关解决方案