[英]how do you count the number of digits in an int?
我一直在努力嘗試找出一種方法來計算 2 的數量,或者你想找出一種方法來計算 2 的數量並在 int 中打印 2 的數量。
如果我輸入一個像 3552342343 這樣的隨機數,我正在尋找 3,我希望它打印 4,因為它們是 4 個 3。
您可以使用 split 查找所有匹配項
String number = "128";
String digit = "2";
// expensive but simple.
int matches = number.split(digit).length - 1;
假設你想使用一個循環和類似 contains 的東西。
// no objects
char digit = '2';
int count = 0;
for (int pos = number.indexOf(digit); pos >= 0; pos = number.indexOf(digit, pos + 1)
count++;
這會更快,但並不那么簡單。
正如@Kon 建議您可以遍歷字符
char digit = '2';
for (char ch : number.toCharArray()) // creates an object
if (ch == digit)
count++;
或者
// no objects
char digit = '2';
for (int i = 0; i < number.length(); i++)
if (number.charAt(i) == digit)
count++;
String 有一些有趣的運行時優化,我懷疑第二種方法是最快的,盡管你必須測試它來檢查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.