Java初学,编个简单的输出代码就出错了,在别人的电脑上就没问题
报错是类型Printstream中的方法printf(Locale,String,Object[])对于参数(String,String,String)不适用
求指教
可能是JDK版本低或者开发工具的JAVAComplier版本选的低
我用eclipse1.7编译执行正常
printf(直接写要输出的参数)
比如:Stringa="string"..printf(a)输出:a的值不需要任何格式化,printf可以输出任意类型的值
你的做法是c的游戏规则,java不用要任何格式指定
Java中是:System.out.println("....");或者不换行的:System.out.print("...")
c中:printf("s%","")
JAVA里你可以直接这样写
inta=1;
Stringb="rt";
System.out.println(a);
System.out.println(b);
对于非String的基本类型,程序自动转换成String
你是不是写c写习惯了
有那么复杂么???你要是想用printf呢,就要按指定的参数类型来写,printf有两种参数形式,一个是两个参数的,一个是三个参数的。很显然你的是三个参数的,第一个参数是要指定Locale,你这里写的不是Locale对象,因此直接报错了,你写成我这样的就行了,此外printf输出时不会换行,你自己加一个换行就行了,下面的代码中第一个就是带换行的。
publicstaticvoidmain(String[]args){Stringstr="007";System.out.printf(Locale.CHINA,"%s",str+"\r\n");System.out.printf(Locale.CHINA,"%s",str);System.out.printf(Locale.CHINA,"%s",str);}
乍一看还真觉得怎么回事了,再一看是多写了个f,你用快捷键sysout然后按alt+/
醉了。。。一看以前肯定是做C的。。哈哈
我按照你写的也没问题,会不会是jre版本太低呀
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。