c%16是为了每16个字符换行一次撤掉问题2,因为如果没有{}的话if只是表示执行它下面的一句话
所以撤掉问题2,每到c%16=0时才执行System.out.print(" "+(char)c);问题三在这里没有什么作用,其实空格只是为了,使得输出清晰一些,没有特殊作用

解决方案 »

  1.   

    System.out.println(" ");  ←问题2
    这一行是换行吗?还是空格?
      

  2.   

    代码改成这样也许会清楚一点:for(int c=32;c<=127;c++){
      
      if(c%16==0)←问题1
         System.out.println(" ");  ←问题2
      
      System.out.print(" "+(char)c); 
    }System.out.println(" ");←问题31.if 语句的作用是每隔十六个字符换行
    2.去掉问题2这句后if的执行语句变为System.out.print(" "+(char)c);这句,所以只有当if成立时才会执行。
    3.问题3这句在循环语句块之外,所以循环结束后会有换行的动作。
    4.问题2语句是在循环过程中if语句成立的条件下换行,因为用的是method "println()"
      

  3.   

    那为什么加上问题2这句就可以打印后面的字符,然后等C%16=0后从新换行继续输出?
    IF语句作用是每隔16个字符换行如果没有问题2就等于只输出除完16余数为0的字符所以是 
     0 @ P ` p,加上问题2里的那句后打印输出是完整的加上他的意思是从第一个可以被16整除余0的那个字符开始然后依次输出后面的,直到在有可以被16整除的数为止后换行继续么??
    就是问题2这句语句还是不明白谢谢
      

  4.   

    System.out.println(" ");  ←问题2
    这一行是换行吗?还是空格?是换行!println
      

  5.   

    问题一:c%16是为了每16个字符换行一次。
    问题二:若是把那一句去掉的话,就强行的把System.out.print(" "+(char)c);作为if模块中的一部分了,这个时候就要循环16次才输出一个字符,所以最后只有 0 @ P ` p
    问题三:输出一个空格,不起任何作用。
      

  6.   

    换行,我认为他是当上面IF语句成立后也就是碰到可以被16整除的那个数之后换行继续输出,直到在碰到可以被16整除的然后在换,可是就是不明白为什么没有他输出的却是只能被16整除的那几个数,还有如果没有IF循环那句输出的就是竖着的所有数,上面说了IF是每隔16个换行,感觉明白点了,但是那问题2还是非常不清楚,为什么没有他不是横着输出所有数而是只输出可以被16整除的那几个呢??
      

  7.   

    System.out.println(" ");  
    打印一个空格,然后换行。
      

  8.   

    若是硬不要System.out.println(" ");
    可以在 if(c%16==0)后面加上{}或分号,但不能实现换行了
    //加分号:
    public class bj
    {
    public static void main(String args[])
    {
    char ch1,ch2;
    ch1=80;
    ch2='X';
    System.out.println("ch1="+ch1);
    System.out.println("ch2="+ch2);
    System.out.println("ch2=ch2+10="+(ch2+10));
    System.out.println("ch2=ch2+10="+(char)(ch2+10));
    System.out.println("ch1-ch2="+(ch1-ch2));
    for(int c=32;c<=127;c++)
    {
    if(c%16==0);System.out.print(" "+(char)c);
    }
    System.out.println(" ");
    }
    }////////
    //加{} public class bj
    {
    public static void main(String args[])
    {
    char ch1,ch2;
    ch1=80;
    ch2='X';
    System.out.println("ch1="+ch1);
    System.out.println("ch2="+ch2);
    System.out.println("ch2=ch2+10="+(ch2+10));
    System.out.println("ch2=ch2+10="+(char)(ch2+10));
    System.out.println("ch1-ch2="+(ch1-ch2));
    for(int c=32;c<=127;c++)
    {
    if(c%16==0)
    {}
    System.out.print(" "+(char)c);
    }
    System.out.println(" ");
    }
    }
      

  9.   

    那C%16不是一个IF循环么?为什么每16个字符换行1次呢?
      

  10.   

    因为IF外面有一个FOR循环啊,每循环一次,都要经过IF判断一次啊,如果它的余数恒等于0就执行一次System.out.println(" ");  
    另外C的值在不断增加啊,所以只有每增加16才有一个值能整除16for(int c=32;c<=127;c++)//C循环一次后加一
      

  11.   

    那C%16不是一个IF循环么?为什么每16个字符换行1次呢?==================================因为[if(c%16==0)]控制的是[System.out.println(" ");]每16个字符执行[System.out.println(" ");]
    [System.out.println(" ");]作用是输出一个空格,然后回车换行
      

  12.   

    解决拉太感谢你了,你QQ是叫萧十一郎么?我加你QQ了
      

  13.   

    我的QQ是53924337
    加我是 附加消息JAVA 
    我就会同意!!!