public class print
{public static void main(String args[])
   {
     int i=1;
     while(i!=10)
      {
       for(int a=1;a==i;a++)
       System.out.print("*");
       System.out.println();
       i=i+1;
      }
    }
}
为什么我的程序只打印出一个*?而不是我想要的等腰直角三角形?
请大家帮我分析一下,谢谢

解决方案 »

  1.   

    for(int a=1;a==i;a++)a==i
    -->a<=i
      

  2.   

    int i=1;
            while(i!=10)
             {
              for(int a=1;a<i;a++)
              System.out.print("*");
              System.out.println();
              i=i+1;
             }
      

  3.   

    int i = 1;
    while (i != 10)
    {
    for (int a = 1; a <= i; a++)  // <=
    System.out.print("*");
    System.out.println();
    i = i + 1;
    }
      

  4.   

    其实一样的, 只不过a<i少一行而已. :)
      

  5.   

    a==i,第一条执行之后,a!=i了,自然就打印不了了,
    楼主笔误吧
      

  6.   

    for(int a=1;a==i;a++)
           System.out.print("*");
    修改如下:
    for(int a=1;a<i;a++)
           System.out.print("*");
      

  7.   

    a<=i和a<i的确就是一行的差别
    ---------------------------------
      

  8.   

    你的问题里面是a==i不是a<=i看清楚了啊。