找不到适合print(int,boolean,char,double)错误的方法?

我试图在同一个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)

但我不知道为什么会出现这个错误。 当我打印这个在不同的不同声明工作正常。 请解释一下。

PrintStreamprintln方法(其中out是一个实例)只接受一个参数。 也许你是在考虑使用printf

 System.out.printf("%d, %b, %c, %f%n", a, b, c, d); 
 5,真实,a,12.460000
 System.out.println("" + a + b + c + d); 

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

您不能一次传递多个值到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 

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

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

正如Oli所说,使用println在Java中实现它的方法是将您的值与+连接在一起。 例如:

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

输出:

 5, true, a, 12.46 

println只需要单个参数。 你可以实现这一目标

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

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