【发布时间】:2014-02-20 21:52:40
【问题描述】:
问题是我不明白如何让两个 0 出现在 7 之前,在打印之后。在打印行中使用 + 键后,打印不断出现 7。
int 键 = 007; System.out.println("插入任何你想要的" + 键); 插入任何你想要的 7
我想说的是
插入你想要的任何东西 007
【问题讨论】:
-
请确保提出正确的问题。另外,请格式化您的代码以获得最佳可读性。这将大大提高您获得好答案的机会!
问题是我不明白如何让两个 0 出现在 7 之前,在打印之后。在打印行中使用 + 键后,打印不断出现 7。
int 键 = 007; System.out.println("插入任何你想要的" + 键); 插入任何你想要的 7
我想说的是
插入你想要的任何东西 007
【问题讨论】:
System.out.println(String.format("%02d", Bond));
【讨论】:
因为它是一个int,它会从数字的开头剪掉0。这是因为007 在数值上等于7。请改用String:
String bond = "007";
System.out.println("Insert whatever you want " + bond);
或者,如果您必须使用int,那么您可以使用format 方法:
System.out.println("Insert whatever you want" + String.format("%02d", bond));
编辑
在 cmets 中提出了很好的观点。 007 将被解释为octal 数字,这意味着007 实际上将被解释为042。特工 042 是嫉妒的间谍,他总是试图完成007 能做的事情,但从来没有成功过。我们不希望他拿走 007 的任何荣耀。
【讨论】:
042 != 42 - 当他试图兑现薪水时会有一个令人讨厌的惊喜!)
你可以像这样使用System.out.printf(),
public static void main(String[] args) {
System.out.printf("%03d - %s, %s.\n", 7, "Bond", "James Bond");
}
输出,
007 - Bond, James Bond.
【讨论】: