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

请问我写的代码在哪里出了问题?求指导
看了《21天学java》里面有个关于do while循环语句的例子,做一个99乘法表。
结果电子书里的例子没有了,只好自己摸索。网上找的全是从1到9,而这个例子是从9到1。
下面是我写的代码:
public class TimingTable{

public static void main(String [] args){

int i = 9;

do{

int j = 9;

--i;

j = i;


do{

System.out.print(i + "*" + j +"=" +i*j+ " ");

--j;
}
while ((j<=i)&&(j>0));

System.out.println("");
}
while (i>=1);



}
}
输出结果却是8到1,而且最后还有0。
求大神和各达人的指点,谢谢。

------解决方案--------------------
int i = 9;
        do {
            int j = 9;
            j = i;
            do {
                System.out.print(i + "*" + j + "=" + i * j + " ");
                --j;
            } while ((j <= i) && (j > 0));
            --i;
            System.out.println("");
        } while (i >= 1);

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

package basic;

public class Count {
public static void main(String[] args) {
int i = 10;
do{
int j = 9;
-- i;  // 你好,在计算之前你已经执行了 --i 操作了,之后的 i 为8了 
j = i;
do{
System.out.print(i + "*" + j +"=" +i*j+ " ");
-- j ;
} while (( j <= i ) && ( j > 0 ) );

System.out.println("");
} while (i>=1);
}
}