我正在制作一个猜测用户生日的数学课程。
用户输入一个数字,让我们说:75622,我从中减去一个数字来获得生日,在这种情况下为42682 - 04/26/82
我希望能够将该整数转换为字符串,然后在月,日和年之间添加正斜杠..如果只有5位而不是6位,则还要添加0(因为月份为1-9)。
我知道如何使用Integer.toString(int)将其转换为字符串,但我不知道如何插入正斜杠和零。
谢天谢地!
答案 0 :(得分:3)
如果您只想将int
转换为String
(带有前导0
),可以使用String.format
int num = 42682;
String s = String.format("%06d", num);
然后,您可以使用其他String.format
和String.substring
来构建所需的输出,例如
String output = String.format("%s/%s/%s", s.substring(0, 2),
s.substring(2, 4), s.substring(4));
System.out.println(output);
哪些输出(根据要求)
04/26/82
答案 1 :(得分:1)
请在下面找到答案:
public class CreateDateFromNumber {
public static void main(String[] args) {
int number = 42682;
System.out.println(getDate(number));
}
public static String getDate(int number) {
String numberStr = Integer.toString(number);
String outputStr = "";
if (numberStr.length() != 5 && numberStr.length() != 6) {
throw new IllegalArgumentException(
"Number should be length of 5 or 6");
}
if (numberStr.length() == 5) {
numberStr = "0" + numberStr;
}
int var0 = 0;
while (var0 < numberStr.length()) {
String var1 = numberStr.substring(var0, var0 + 2);
outputStr = outputStr + var1;
if (var0 + 2 < numberStr.length()) {
outputStr = outputStr + "/";
}
var0 = var0 + 2;
}
return outputStr;
}
}