Eclipse Java printf问题PrintStream不适用

Eclipse Java printf问题PrintStream不适用,java,eclipse,printf,Java,Eclipse,Printf,我正在学习编程入门课程,我的Eclipse出现了问题,它似乎不想以最简单的形式运行printf 我的代码是: package Practice; import java.io.*; public class Printf { public static void main(String[] args) throws IOException { int num1 = 54; int num2 = 65; int sum

我正在学习编程入门课程,我的Eclipse出现了问题,它似乎不想以最简单的形式运行
printf

我的代码是:

package Practice;

import java.io.*;

public class Printf {

    public static void main(String[] args) throws IOException
    {
        int num1 = 54;
        int num2 = 65;    
        int sum = num1 + num2;
        System.out.printf("Sum of %d and %d is %d.", num1, num2, sum);
    }
}
这个错误就像说的那样

类型
PrintStream
中的方法
printf(String,Object[])
不适用于参数
(String,int,int)

我将Java编译器的遵从性级别设置为1.8,因此它应该没有问题,正如我在以前的文章中所读到的那样。Eclipse的开普勒版本已经应用了Java8补丁(因此我可以遵守1.8)


我所发现的任何网站都没有给我任何关于问题可能是什么的线索?

尝试使用
System.out.format(“%d和%d之和是%d.”,num1,num2,Sum)
而不是
printf

显示Eclipse中的项目文件夹在其自己的属性上运行,与Eclipse主设置分离。。为了让它们在1.6/1.7/1.8版上编译,您必须分别从主设置更改它们的属性

基本上不用转到windows>首选项。。。要更改和更新编译器版本,请右键单击Package Explorer>Properties>Java编译器中的project文件夹,然后选中Enable project specific settings(启用项目特定设置),然后将下面的设置更改为编译器合规级别1.5或更高,以使上面的代码正常工作


我不知道它为什么会这样做,这毫无意义,但至少它现在可以工作了:)

右键单击项目文件夹->属性->java编译器->标记(启用项目特定设置)->设置编译器符合性级别:1.6->享受eclipse

一个
int
不是
对象,因此,对于varargs方法,
int
参数序列不能解释为
Object
s序列。@Raedwald:当然可以:int将被装箱为整数。问题在别处。这段代码可以编译并运行良好。@jbnize在这种情况下,编译器应该能够进行多级推理吗?我印象深刻。要么是JDK编译器中的错误,要么是Eclipse编译器中的错误。即使在1.6中,JDK编译器也不能很好地处理这段代码。代码本身没有任何问题。它也不需要Java1.8。Java1.5及更高版本可以工作。月食显然是混乱的。