java 菜鸟新手问:为何printf输出不正确?

2024年11月20日 10:29
有5个网友回答
网友(1):

这是java,不是c。
System.out.printf("%d*%d=%2d",i,j,i*j);

修改为:
Syetem.out.print(i+"*"+j+"="+i*j);

晕哪,还真的可以用printf(),我试了,java居然支持这么写

不过估计这不是sun推荐大家使用的方式吧,很多java的教材都没说这种格式,所以会很多人不知道。

提个问题行吗?为什么你一定要这么打印?System.out.println,你不会用吗?

1.6肯定有自动装箱的。我实验用的是1.6,运行顺利。

后面的程序我也运行成功了。
Hello
10011
13
23
32767-----32768
2147483647-----2147483648
9223372036854775807-----9223372036854775808
127-----128

至于sdk和jdk,你可以去百科查查,我的理解是jdk是java的sdk

网友(2):

我用的是1.5的
成功通过!

结果如下:
2*1= 23*1= 34*1= 45*1= 56*1= 67*1= 78*1= 89*1= 9
2*2= 43*2= 64*2= 85*2=106*2=127*2=148*2=169*2=18
2*3= 63*3= 94*3=125*3=156*3=187*3=218*3=249*3=27
2*4= 83*4=124*4=165*4=206*4=247*4=288*4=329*4=36
2*5=103*5=154*5=205*5=256*5=307*5=358*5=409*5=45
2*6=123*6=184*6=245*6=306*6=367*6=428*6=489*6=54
2*7=143*7=214*7=285*7=356*7=427*7=498*7=569*7=63
2*8=163*8=244*8=325*8=406*8=487*8=568*8=649*8=72
2*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

printf应该是1.5后出现的,JAVA里也有

==============
手头上没有1.6的,无法帮你了

看错误,你试试这个
System.out.printf("%d*%d=%2d",new Integer[]{i,j,i*j});

====================
如果第一次说没有,还情有可原,毕竟这个比较冷门,但一直坚持的,为何不去看看API呢?

网友(3):

代码没问题,你应该用JDK5.0以上的版本就行了。

我测试了,一切正常!

网友(4):

输出用System.out.println()或System.out.print``又不是C语言`怎么会有printf

网友(5):

public class ford {

public static void main(String[] args) {

for(int j=1;j<10;j++) {
for(int i=2;i<10;i++) {

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

}
System.out.println();
}

}
}