黑马程序员技术交流社区
标题:
打印5行5列*的问题
[打印本页]
作者:
石欣欣
时间:
2011-8-31 22:41
标题:
打印5行5列*的问题
class Demo
{
public static void main(String[] args)
{
for(int x=0;x<5;++x)
{
int z=4
for(int y=z;y<5;++y)
{
System.out.print("*");
}
--z;
System.out.println();
}
}
}
打印结果是
*
*
*
*
*
为什么不是
*
**
***
****
*****
求解答??????
作者:
匿名
时间:
2011-8-31 23:05
标题:
还是 打印5行5列*的问题 郁闷了
class Demo
{
public static void main(String[] args)
{
for(int x =0;x<5;++x)
{
int z=0; //定义个变量z使其控制*的递减
for(int y=z;y<5;++y) //y=z使二者连接起来,
{
System.out.print("*");
}
z++;
System.out.println();
}
}
}
/* *****
****
***
**
*
*/
//为什么打印不出来
*****
****
***
**
*
而是
*****
*****
*****
*****
*****
作者:
郝妮娜
时间:
2011-8-31 23:07
int z=4放在第一重循环里,每次执行循环时都将z从新赋值为4,当然每行就只能打印一个*了。
将in z=4放在循环的外面:
.........
int z=4
for(int x=0;x<5;++x)
.........
这样试一下
作者:
匿名
时间:
2011-8-31 23:09
第二个和第一个问题是一样的,int z的位置放错了
作者:
匿名
时间:
2011-9-1 09:23
内循环里面
int z= 4;
for(int y=z;y<5;++y)
4小于5 只能执行一次 所以内循环只能打印出一个*
外循环for(int x=0;x<5;++x)
执行5次 每次执行内循环 而由于内循环每次只打印一个* 所以就每行只有一个*
作者:
匿名
时间:
2011-9-1 21:03
class Demo
{
public static void main(String[] args)
{
for(int x =0;x<5;++x)
{
int z=0; //这个Z的值在你每次进入x的for循环时都自动重新赋值为0,也就是说你每一行要打印的“*”都是4个*;你要是想打印出递减的效果,你Z的初始化赋值应该放在for循环的外面。
for(int y=z;y<5;++y) {
System.out.print("*");
}
z++; //要是你的Z初始化在x的for循环里面,你的这个语句是多余的,原因在上面已经说明了,每次进入循环都会被重新赋值。
System.out.println();
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2