私は、2の数を数えたり、2の数を数えたり、intの2の数を出力したりする方法を考えたいと思っています。intの桁数はどのように数えますか?
もし私が3552342343のような数字を入れたら 私は3を探していますが、私はそれが4 3であるので4を印刷したいと思っています。
私は、2の数を数えたり、2の数を数えたり、intの2の数を出力したりする方法を考えたいと思っています。intの桁数はどのように数えますか?
もし私が3552342343のような数字を入れたら 私は3を探していますが、私はそれが4 3であるので4を印刷したいと思っています。
あなたはすべての一致
String number = "128";
String digit = "2";
// expensive but simple.
int matches = number.split(digit).length - 1;
を見つけるために、スプリットを使用することができますが、あなたが含まれているようにループし、何かを使用してみたいと思います。
// 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++;
文字列の文字を反復処理する可能性が示唆したように、いくつかの興味深い実行時の最適化を持っていると私はあなたがテストしなければならないのに第2の方法は、最速である疑いがありますチェックする。
あなたが何を求めているのかは不明です。リストしたコードはコンパイルされないため、ランタイムエラーの原因を推測することはできません。完全な質問を投稿し、受け取ったエラーの詳細をお知らせください。 –