public class NineTable
{
public static void main(String[] args)
{
for (int j = 1; j < 10; j++)
{
for (int i = 2; i < 10; i++)
{
System.out.printf("%d * %d =%10d",i, j, i * j); // 为什么这里使用println会出错
}
System.out.println(); // 为什么换行符在这里换行,而且使用的是Println,而用printf不行
}
}
}

解决方案 »

  1.   

    楼主去看看println的API就知道了.
      

  2.   

    println 是换行的,你希望每一个
    1*1=1 然后就换行吗?
      

  3.   

    System.out.printf(i+"*"+j+"="+i*j);
    这样打印 ,这是JAVA的输出。。
      

  4.   

    老大们,printf在JAVA中也是有的,只是方法几乎没有用过
      

  5.   

    从来没想过println 还可以这样用!!!!
      

  6.   

    printf 是格式化输入,跟C里面的功能差不多,
    println 输出内容后换行,
      

  7.   

    printf 是格式化输出.
    上面写错了.
      

  8.   

    printf 是借鉴c的   所有可以按照控制的可是输出!(1.5)println是java本身的当然不能混着用
    到Google 中查询 java printf   有很多信息的慢慢体会一下吧!
      

  9.   

    printf是按一定格式输出,为了方便C程序员的
    println()是输出后换行
      

  10.   

    API 从5.0 以后才从C 鉴见 了printf 用来格式化字符串!
      

  11.   

    我只知道printf是格式化输出,println()是输出后换行
    从没用过printf
      

  12.   

    楼主你混淆c和java了
    java中println()中不需要用%d来打印,更不要用“”来包括%d,“这里面全是打印的字符窜”+n (n相当与%d)
      

  13.   

    ("%d * %d =%10d",i, j, i * j); 
    里面含有%d,%f等等的东东都是类似c里的格式化输出,printf就是这个功能。而println输出的内容决不能含有%
      

  14.   

    我也是新手啦
      你去查哈api有printf这个东东没哦目前我知道的就println和print这两个,前者换行后者不换行
      

  15.   

    你这样就能换行了:System.out.printf("%d * %d =%10d%n",i, j, i * j);
      

  16.   


    当然了用 \n 来代替 %n 也可以,不过不建议这样做。需要注意的是 %n 使用的系统平台的换行符,比如在 Windows 系统中 %n 表示的是 \r\n,在 Linux 系统中表示的是 \n,不知道这样说你是否能明白呢?
      

  17.   

    如果你一定要用 System.out.println 的话,可以这样使用 String.format 方法来进行格式化:System.out.println(String.format("%d * %d =%3d",i, j, i * j));
      

  18.   

    我晕……println 只有一个参数和没有参数两种,你给那么多参数怎么行呢?还有 Java 里怎么没有 printf?当然有,我就很喜欢用。不要乱说。
      

  19.   

    兄弟没有出错的
    你米有理解占用位置的意思啊
    你看看我的代码就明白意思了public class LoginFrm 

    public static void main(String[] args)

    for (int j = 1; j < 10; j++)

    for (int i = 2; i < 10; i++) 

    System.out.printf("%d * %d =%d  ",i, j, i * j); 
    // 为什么这里使用println会出错 
                                                  //你原来的那个%10d输出的时候位置是在等号10个位置
                                                 //接下来你没有进行空格或者换行 所以下一次输出时在10位置以后的第一个位置开始,就出现了1*2=     23*4=。。 } 
    System.out.println();
    // 为什么换行符在这里换行,而且使用的是Println,而用printf不行 
      

  20.   

    其实pintIn也是换行 但是printf()也可以执行换行的
      

  21.   

    这句java代码执行printf换行
    System.out.printf("\n");
      

  22.   

    System.out.printf("%d * %d =%10d",i, j, i * j);java里面是有这种用法。但是在1.5里面。
    你看看是不是版本不一样 。 还有 %d ,%10d分别代表多少进制要搞清楚。
     看看后台报的什么错。System.out.println(); 是输出后换行的意思。
    System.out.print(); 只输出不换行。
      

  23.   

    System.out.printf("%d * %d =%10d",i, j, i * j); 
    java语言不需要输入("%d * %d =%10d",这些东西哦
      

  24.   

    System.out.printf("%d * %d =%10d",i, j, i * j); 你这个明明是要格式化输出嘛  肯定要用printf的 println有它自己的参数 如果你多给他参数肯定不对
      

  25.   

    public class NineTable 

    public static void main(String[] args) 

    for (int j = 1; j < 10; j++) 

    for (int i = 2; i < 10; i++) 

    System.out.printf("%d * %d =%10d",i, j, i * j); // 为什么这里使用println会出错 

    System.out.println(); // 为什么换行符在这里换行,而且使用的是Println,而用printf不行 


    }

    1问:不是使用println会出错是System.out.printf();中的装的是字符串,你的是System.out.printf("%d * %d =%10d",i, j, i * j);
    2问:我想是可以的,至于为什么是因为结束里面的循环后想作什么吧!
      

  26.   

    我不知道java有System.out.printf();这样的输出,下次试试
    我只知道两种输出方式
    System.out.print();输出后,光标不换行
    SYstem.out.println();输出后,光标换行
      

  27.   

    System.out.printf("%d * %d =%10d",i, j, i * j); // 为什么这里使用println会出错
    要是用System.out.println();
    应该这样写Syetem.out.println(i+j+'='+i'*'j);
    我不知道是不是这样,请高手点评一下
      

  28.   

    有些jAVA视频中都有,
    printf()是格式化输出,println()输出后换行。api中有提到,不过很少用的。