使用printf(),控制台打印'?'用于数字变量。当我尝试其他变量时,它工作得很好
public class Main {
public static void main(String[] args) {
boolean myBoolean = false;
char myChar ='$';
String myString = "Hello world";
int myInt= 30;
double myDouble = 123.456;
System.out.printf("boolean = %b\n",myBoolean );
System.out.printf("Char = %c\n",myChar );
System.out.printf("String = %s\n",myString);
System.out.printf("int = %d\n",myInt);
System.out.printf("double = %f\n",myDouble );
}
}
控制台会打印出以下内容:
boolean = false
Char = $
String = Hello world
int =?
double =??????????
我在网上搜索了一下,找不到确切的问题。我找到的最接近的东西是Link我检查了启用项目特定设置。我也使用了formatf,但结果与printf相同。
1条答案
按热度按时间thigvfpy1#
你检查过你的eclipse项目的文本文件编码了吗(窗口->首选项->通用->工作区,然后是文本文件编码(我在面板的底部)?
我的设置为Cp 1252(我查了一下,这是Windows的默认值,所以这是有意义的,因为我在Windows上使用Eclipse)。我在选项中看到UTF-8,这看起来很合理,因为它在很多地方都被使用。如果你的看起来与那些不同,可能值得尝试改变它,看看你是否仍然会有这种行为。我试着改变它到一些其他的东西,但无法重现你的错误,但然后我的eclipse似乎没有保存的变化,所以它可能仍然是该设置。