[英]How can i replace the first instance of an integer in a string list in java?
[英]How do I replace the first three characters of a Java integer by 111?
我在 java 中有一個 integer。 如何將其前三個數字替換為 111(或任何其他數字),例如將 783729 變為 111729? 非常感謝!
您可以將其轉換為字符串,然后替換前三個字母。
String s = String.valueOf(783729);
int i = Integer.parseInt(s.replace(s.substring(0, 3), "111"));
將 integer 轉換為字符串替換前三個字符並將其轉換回 integer。請嘗試自己做。 如果您在編碼過程中感到卡住,請發布您的代碼以及您面臨的問題。
您可以在不使用簡單算術轉換為字符串的情況下執行此操作:
// Assumes that num is initially at least 999.
int replaceWith111(int num) {
if (num < 1000) {
return 111;
}
return 10 * replaceWith111(num / 10) + (num % 10)
}
顯然,如果您只需要完成此操作,您將轉換為String
並在那里進行替換。
然而,只是為了好玩,這里是你可以只使用Math
函數和運算符的方法。 不處理負數-留給讀者練習:)
int s = 111;
int n = 783729;
int ds = (int)Math.ceil(Math.log10(s));
int dn = (int)Math.ceil(Math.log10(n));
int b = (int)Math.pow(10, dn-ds);
int sn = s * b + n % b;
System.out.println(sn);
Output:
111729
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.