1

我试图在同一个 println 语句中打印 (int, boolean, char, double) 。

class Test1
{
public static void main(String s[])
{
int a =5;
char c = 'a';
boolean b = true;
double d = 12.46;

System.out.println(a,b,c,d);
/*System.out.println(a); // Here it works fine
System.out.println(b);
System.out.println(c);
System.out.println(d);*/
}
}

Test1.java:10:错误:找不到适合 println(int,boolean,char,double) 的方法

但我不明白为什么会出现这个错误。当我在不同的不同语句中打印时效果很好。请解释一下。

4

5 回答 5

13

(其中是一个实例)的println方法采用单个参数。也许你是你想的。PrintStreamoutprintf

System.out.printf("%d, %b, %c, %f%n", a, b, c, d);
5、真、一、12.460000
于 2013-06-24T15:01:48.847 回答
4
System.out.println("" + a + b + c + d);

您将多个参数传递给 println 函数,如果您将它们全部作为单个参数传递,它应该可以工作。

于 2013-06-24T15:04:01.267 回答
2

println只需要一个参数。你可以用

System.out.println(""+ a + b + c + d );

建议你也看看toString方法,你需要override这个。

于 2013-06-24T15:08:08.340 回答
2

正如 Oli 所说,使用 println 在 Java 中执行此操作的方法是将您的值与 + 连接在一起。例如:

System.out.println(a + ", " + b + ", " + c + ", " + d);

会输出:

5, true, a, 12.46
于 2013-06-24T15:14:43.773 回答
1

您不能一次将多个值传递给println();

每种数据类型都有单独的方法

取消注释您的代码。这是唯一的方法print

System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);

println 有 arg 类型,如

public void println(boolean x)
public void println(char x)
public void println(int x)...and so on 

所以你不能一次传递多个值。或者只是将它们附加到字符串

System.out.println("" + a + b + c + d);
于 2013-06-24T15:01:14.793 回答