for(int i=1;i<10;i++)
{
for(int j=1;j<=i;j++)
{
System.out.print(i+"*"+j+"="+i*j+"\t");
}
System.out.println(" ");
}
这是个99乘法表,我就是不明白什么时候i+1什么时候J+1。
是不是I=1的时候满足1<10的条件就加1才进去下面一个FOR的?
如果是这样的话I进去的时候应该是2了。
请高手帮我揭开这个疑惑。新手谢谢拉。

解决方案 »

  1.   

    搞清楚 ++i  i++的次序...for循环...i先用后加1..也就是i++的原因...
      

  2.   

    i++(先用后加1)   ++i(先加1后用)...这样明白了吧..
    ps:手机上网回答你...够辛苦的..分该给..呵呵
      

  3.   

    给你解释一下i的for循环,首先i值为一,看看是不是符合i<10这个条件,如果不符合就退出循环,符合就执行循环,执行完一次循环后,这个时候i+1了,此时i为2,在判断是不是符合i<10这个条件,其余同理……
      

  4.   

    for循环首先进行初始化(只进行一次即初次进入循环),然后是条件判断如上面的i<10,若判断结果为true,则进行for循环体,当for循环体结束时循环计数器改变如上面的i值加1,在进行上述思路。
      

  5.   

    public class TestFor { /**
     * @param args
     */
    public static void main(String[] args) {

    int i1 = 1; //外循环计数
    int i2 = 1; //内循环计数

    for (int i=1; i<=10; i++){
    for (int j=1; j<=5; j++){
    System.out.println(i1 + "." +  i2);
    i2++;
    }
    i2 = 1;
    System.out.println();
    i1++;
    } }}
    初学,感觉这样子比较清楚一点,对照输出看一下,可能好理解一点。ouput:1.1
    1.2
    1.3
    1.4
    1.52.1
    2.2
    2.3
    2.4
    2.5......10.1
    10.2
    10.3
    10.4
    10.5
      

  6.   

    for(int i=1;i<10;i++)
    {
       for(int j=1;j<=i;j++)
          cout<<setw(5)<<i*j;
       cout<<endl;
    }  
      

  7.   

    问题解决了,谢谢。。原来是只要进入J的循环J都是从1开始循环,只要J大与I的话就跳出内循环。I直到等于9为止,,,嗯谢谢大家哈。