我有一個小問題,我認為這很簡單,但我不知道如何正確管理它。
我有這個簡單的整數:
int birth = 011112;
我希望以這種特定格式的輸出看起來像這樣。
"Your birth date is 12.11.01."
我是用一個整數陣列來做的,??但我只想要一個像這樣的整數輸入,而不是一個陣列。
有什么身體可以幫助我嗎?有沒有簡單的方法來管理它,而不使用回圈?THX xoxo
uj5u.com熱心網友回復:
基本上,將int表示某種格式的日期轉換為 String 應該使用除法/和取模%運算,轉換為 String 可能使用String.format提供前導 0。
以 0 開頭的數字用八進制表示,其中0-7使用范圍內的數字,因此由于編譯錯誤,類似010819或080928甚至不能用 Java 代碼撰寫的文字int:
error: integer number too large
int birth = 010819;
但是,(僅出于本練習的目的)我們可以假設可接受的八進制數以01 or 02十進制以下的 10000開頭。
然后可以定義除法/模數的基數和輸出型別(%d十進制或%o八進制):
public static String rotate(int x) {
int base = x < 10000 ? 0100 : 100;
String type = x < 10000 ? "o" : "d";
int[] d = {
x % base,
x / base % base,
x / (base * base)
};
return String.format("" type "." type "." type, d[0], d[1], d[2]);
}
測驗:
System.out.println(rotate(011112)); // octal
System.out.println(rotate(11112)); // decimal (no leading 0)
輸出:
12.11.01
12.11.01
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/311591.html
標籤:爪哇
