高手们帮我看看为什么这个程序运行不出来,谢谢了.public class tuzi {
public static void main(String args[]) {
long f1, f2;
int i;
f1 = f2 = 1;
for (i = 1; i <= 20; i++) {
System.out.printf("%12ld%12ld", f1, f2);
if (i % 2 == 0) {
System.out.printf("\n");
}
f1 = f1 + f2;
f2 = f1 + f2;
}
}
}

解决方案 »

  1.   

    学C出身的吧
    System.out.printf不能这么用
      

  2.   

    System.out.printf("%12ld%12ld", f1, f2);把“ld”里的“l”去掉,只用“d”就可以了。
      

  3.   

    letsflytogether(伍子) ( ) 信誉:100  2007-9-12 12:28:33  得分: 0  
     
     
       
    学C出身的吧
    System.out.printf不能这么用
    ====================================
    你看看JAVA是不是有这个方法????   
     
      

  4.   

    把System.out.printf都改成System.out.print
      

  5.   

    System.out.printf->System.out.print
      

  6.   

    有没有搞错,在 JDK 1.5 以上的版本新增加了变参和 Formatter 类,所以可以使用 System.out.printf 了。只要将参数中的 ld 改为 d,就可以输出 20 个斐波那契数了。
      

  7.   

    System.out.printf("%12ld%12ld", f1, f2);
    去掉l
      

  8.   

    楼主可能需要的是这个:
    public class tuzi {
    public static void main(String args[]) {
    long f1, f2;
    int i;
    f1 = f2 = 1;
    for (i = 1; i <= 20; i++) {
    System.out.printf("%-12d%-12d", f1, f2);
    if (i % 2 == 0) {
    System.out.printf("\n");
    }
    f1 = f1 + f2;
    f2 = f1 + f2;
    }
    }
    }