关于java小程序九九乘法表,我用for循环写的这个程序哪里出错了,为什么只显示了一行 没有全部显示出来

来源:百度知道 编辑:UC知道 时间:2024/05/13 23:26:09
// i,j的初值都为9
public class test
{
public static void main(String args[])
{
for(int i = 9;i > 0;i--)
{
for(int j = 9;(j <= i)&&(j > 0);j--)
{
System.out.print(i + "*" + j + "=" + i*j + " ");
}
System.out.println(" ");
}
}
}
为什么第二次外循环 i = 8 时内循环是重新开始的,j的值怎么不是8而还是9呢?

是这样的。每次从外循环进入内循环时,都是从新开始。i=一个数进行循环时,j都要遍历一遍。j都是从9开始,一直减,减 直到 1为止。

//for(int j = 9;(j <= i)&&(j > 0);j--) 把j<=i 的条件放外面。

//这种行不行。好理解。
public class Test {
public static void main(String args[]) {
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
}
}

public static void main(String args[]) {
for (int i = 9; i > 0; i--) {

for (int j = 9; (j > 0); j--) {
if(j <= i){
System.out.print(i + "*" + j + "=" + i * j + " ");
}
}
System.out.println();
}
}
问题解决了, 你不能把j <= i 不能放在循环条件判断里面。否则当j=9, i = 8,7, 6...一开始就退出循环。

那肯定了,第二次外循环,i=8,不过内循环是重新开始,所以j=9
9怎么可能比8小,那就没输出了。

public class k {
public static vodi main(String[] args)
{
int i,j;
for(i=1;i<=9;i++)<