2 qq 14811119 qq_14811119 于 2015.07.13 17:39 提问

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

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

12个回答

boydare
boydare   2015.07.13 18:25
已采纳

可能 是 JDK 版本 低 或者 开发工具的 JAVA Complier 版本选的低

我用 eclipse 1.7 编译 执行 正常

yang852220741
yang852220741   2015.07.13 17:50

printf(直接写要输出的参数)

比如:String a = "string" ..printf(a) 输出:a的值 不需要任何格式化,printf可以输出任意类型的值

qq_14811119
qq_14811119 你说的是输出变量啊,如果单纯输出字符串不定义变量应该怎么弄
2 年多之前 回复
yang852220741
yang852220741   2015.07.13 17:51

你的做法是c的游戏规则,java不用要任何格式指定

guwei4037
guwei4037   Ds   Rxr 2015.07.13 17:49

Java中是:System.out.println("...."); 或者不换行的:System.out.print("...")

c中:printf("s%","")

guwei4037
guwei4037 回复qq_14811119: System.out.println("\r\nasdfas\r\n");
2 年多之前 回复
qq_14811119
qq_14811119 那如果想换行怎么破
2 年多之前 回复
Evankaka
Evankaka   Ds   Rxr 2015.07.13 18:18

JAVA里你可以直接这样写
int a=1;
String b="rt";
System.out.println(a);
System.out.println(b);
对于非String的基本类型,程序自动转换成String

u012216727
u012216727   Ds   Rxr 2015.07.13 18:33

你是不是写c写习惯了

tongyi55555
tongyi55555   2015.07.13 21:19

有那么复杂么???你要是想用printf呢,就要按指定的参数类型来写,printf有两种参数形式,一个是两个参数的,一个是三个参数的。很显然你的是三个参数的,第一个参数是要指定Locale,你这里写的不是Locale对象,因此直接报错了,你写成我这样的就行了,此外printf输出时不会换行,你自己加一个换行就行了,下面的代码中第一个就是带换行的。

public static void main(String[] args) {
        String str = "007";
        System.out.printf(Locale.CHINA, "%s", str+"\r\n");
        System.out.printf(Locale.CHINA, "%s", str);
        System.out.printf(Locale.CHINA, "%s", str);
    }
cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.07.13 22:07

乍一看还真觉得怎么回事了,再一看是多写了个f,你用快捷键sysout然后按alt+/

u013829202
u013829202   Rxr 2015.07.14 15:58

醉了。。。 一看以前肯定是做C的。。哈哈

u010137431
u010137431   2015.07.14 16:41

我按照你写的也没问题,会不会是jre版本太低呀

共12条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片