//testWhile2类,所描述的是一个9*9乘法表
public class testWhile2
{
public static void main(String args[])
{
//定义整型变量
int i = 9; 
int j = 9; 
//当变量i大于或等于1的时候执行循环
while(i >= 1)

while((j <= i) && (j > 0))

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

System.out.println(" "); 
i--; 
//把每次循环后的j值赋值给i
j = i; 

}
}

解决方案 »

  1.   

    while((j <= i) && (j > 0)) 
    这段代码什么意思呢?为什么这样写呢
      

  2.   

    System.out.print(i + "*" + j + "=" + j * j +" "); +" "); 是什么意思
      

  3.   

    while((j <= i) && (j > 0))
    这是控制第i行的,如当i=2时,打印 1*2=2  2*2=4
    +" ");
    在输出的最后加空格~格式控制~为了美观
      

  4.   

    while((j <= i) && (j > 0)) 
    --------------------------------------
    当j在9和0之间时,进行循环System.out.print(i + "*" + j + "=" + j * j +" "); 
    ----------------------------------------------------
    i + "*" + j + "=" + j * j +" " 是print的参数,是输出的内容,是拼接的一个字符串.
    加+" ")是为了,输出时留个空格.
      

  5.   

        while((j <= i) && (j > 0)) 是判断语句  循环条件满足即可   System.out.print(i + "*" + j + "=" + j * j +" ");   这个是输出结果,譬如:3*2=4+j   
      

  6.   

    while((j <= i) && (j > 0)) 
    这段代码什么意思呢?为什么这样写呢
    while()中的&&是指前后两个条件必须都满足,&&加前后的表达式返回结果为布尔值,当返回结果为true
    执行后面{}中的程序
    System.out.print(i + "*" + j + "=" + j * j +" "); 
    +" ");“”中的是常量是为了描述乘号(*)不加""的是变量
      

  7.   

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

  8.   

    楼上把System.out.print(i + "*" + j + "=" + j * i +" ");的建议是正确的
      

  9.   


    不知道你是不理解它在整个程序中的作用还是不晓得它的意思!
    while 循环的一种实现方式!关于它你可以看看一些关于循环的文章;
    (j <= i) && (j > 0)  是一个关系表达式 意思是:
    如果 (j <= i)==true 
    并且 (j > 0)==true 
    那么 ((j <= i) && (j > 0)) ==true;如果 (j <= i) 和 (j > 0)  其中一个为false 
    那么 ((j <= i) && (j > 0)) ==false;while((j <= i) && (j > 0))在整个程序用的作用是:
    约束 j 的取值范围是(0,i] 即  0<j<=i;最后,
    这个类实现的是一个上下颠倒的99表!
    不知道你是不是也要是实现这样的东西!个人建议!如果是新学 不建议使用这种方法实现9*9表!可以使用简单直观一点的实现方法!
    例如:
    for(int i = 1 ; i <= 9 ; i ++ ){
    for( int j = 1 ; j <= i ; j ++ ){
    System.out.print(i+"*"+j+"="+i*j +"\t");
    }
    System.out.println();
    }
      

  10.   

    对嘛,直接两个for循环多简洁
      

  11.   

    我承认LZ的方法很简洁!但是对于初学者来说想弄明白其中的1234,是有点难度的!特别是我这种没有基础的!如果是半年前刚刚学的时候  ,我绝对是看补明白的!所以我推荐我的那种2个for循环的实现方法!
    初学,我认为第一步是把流程结构和控制语句什么的弄明白;算法什么的等有点基础的时候在去弄!
      

  12.   

    从简单入手。。那个for循环。。明白了,在看楼主的代码。。
      

  13.   

    while((j <= i) && (j > 0))
    当j<=i为真并且j>0的时候,执行下面的语句.
    +" "); 是打印一个空格的意思,+是为了连接你要输入的字符或者变量