开发者社区> 问答> 正文

简单java问题,输出函数报错 ?报错

Java初学,编个简单的输出代码就出错了,在别人的电脑上就没问题
图片说明
报错是类型Printstream中的方法printf(Locale,String,Object[])对于参数(String,String,String)不适用
求指教

展开
收起
爱吃鱼的程序员 2020-06-23 21:32:33 619 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    可能是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版本太低呀

    2020-06-23 21:32:49
    赞同 1 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载