日期:2014-05-20  浏览次数:20823 次

我要哭了,一个简单的for写了1小时,新手求教育
本帖最后由 u010062569 于 2013-06-18 01:02:28 编辑
 
为了实现这个效果,虽然完成了,但是代码很长很乱 没有套路 下次遇到又要想半天
求高手给我理清思路,指条明路 

		int b=1;
for (int i=1; i<=7; i++)
{
if (!(i%2==0))
{
for (int j=4;j>b;j--)
{
System.out.print(" ");
}
}

for (int y=1; y<=i; y++)
{
if (!(i%2==0))
{
System.out.print("*");
}
}

if (!(i%2==0))
{
System.out.println();
b++;
}
}

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

// 输出几行
int count = 10;
for (int i = 0; i < count; i++) {
// 输出前导空格
for (int j = 0; j < count - i - 1; j++) {
System.out.print(" ");
}
// 输出几个星号
for (int j = 0; j < i * 2 + 1; j++) {
System.out.print("*");
}
// 换行
System.out.println();
}

------解决方案--------------------
加油奥,慢慢来。。不能急
------解决方案--------------------
行号    : i = 0 到 3
前导空格: 3-i
星号个数: i*2 + 1 
------解决方案--------------------
引用:

    for(int i=0, size=4; i<size; i++) {
      
      for(int j=-size; j<=size; j++)
        System.out.print(i+j<0 
------解决方案--------------------
 i-j<0 ? " " : "*");