Java 如何存储';09';整数

Java 如何存储';09';整数,java,Java,我正在开发一个java程序,需要将一些从0到16的整数存储为 00、01等等 现在,当我为9存储'09'或为8存储'08'时,它开始给我错误信息 从这个问题我知道它是八进制的 我的问题是: 有没有办法在JAVA中以整数形式存储08或09 我必须将数字存储为00,01。。唯一的选择是什么 非常感谢 使用整数存储数字,如果需要显示这些值,请将它们转换为字符串。字符串可以很容易地格式化以显示前导零 int num = 5; System.out.println(String.forma

我正在开发一个java程序,需要将一些从0到16的整数存储为 00、01等等

现在,当我为9存储'09'或为8存储'08'时,它开始给我错误信息

从这个问题我知道它是八进制的

我的问题是:

有没有办法在JAVA中以整数形式存储08或09

我必须将数字存储为00,01。。唯一的选择是什么


非常感谢

使用整数存储数字,如果需要显示这些值,请将它们转换为字符串。字符串可以很容易地格式化以显示前导零

    int num = 5;
    System.out.println(String.format("%02d", num));

不,除非将它们存储为字符串,否则无法执行此操作。
或者将它们存储为常规int并使用字符串格式作为输出。

尝试将
09
存储为数值是没有意义的(除非您真正的意思是将
9
存储为八进制,这就更没有意义了)。您所引用的
09
值是值
9
的表示形式。数值与它们的表示方式无关。您可以将十进制中的值九表示为
9
09
9.0
,或八进制中的值九表示为
011
,但值九保持不变,并且应存储在
整数
变量(或
int
)中

Integer
变量中的数字存储为数值,并以您希望的格式输出,例如:

 Integer i = 9; // or Integer i = 011; whatever
 System.out.println(String.format("%02d", i));

听起来你好像在做错事;然而,有许多可能的方法

案例1:您试图存储日期组件并将其显示为两位数。在这种情况下,请改用

案例2:您试图存储版本号的一部分。在这种情况下,应该将其存储为
字符串
,而不是
int

案例3:您正在尝试存储其他类型的数据,并且需要使用前导零来显示它。为此,您应该使用或b来执行此操作
System.out.printf(“%1$2d”,myInteger)
将数字输出为两位数字,如果需要,添加前导零。

尝试使用

%02d

  • 0
    -用零填充
  • 2
    -将宽度设置为2
输出


为什么需要这种格式?对于输出或其他内容?您希望在什么情况下使用00、01等?您不太可能需要这样存储它们,您可能需要这样显示它们-这公平吗?@Nullpointer:您认为08与8有什么不同,就整数值而言?编写一个print或toString方法来处理按您希望的方式打印Int…将其存储在字符串中可能不是最佳方法。您可以将“存储”一词替换为“强制转换”;)不需要将其存储为字符串..不够好-10-16怎么办?虽然你们都不了解我真正的问题(人们只是投反对票,甚至没有完全阅读问题),而且给出的解决方案也没有一个完美地满足我的需要;我认为这是最相关的解决方案,所以我接受这一点!实数的格式是什么,例如:09.23
int num = 9;
System.out.println(String.format("%02d", num));
09