2

ユーザーが2つの異なる名前を入力したとします。例えば:

firstName = "Stack Overflow"
secondName = "Stack Exchange"

私がしたいのは、それらを比較することです。つまり、単語"Stack"が削除され、残りの文字列文字が数値として出力されます。

"overflow"として出力されます。出力すべきもの8と同じです。"Exchange"8

私が使用できる方法はありますか?私はただの初心者なので、非arrayメソッドまたはいくつかの高度な Java メソッドをいただければ幸いです。

4

3 に答える 3

1

使用されるいくつかの方法:

さまざまな文字の長さを反復すると数値が得られますが、長い文字列または短い文字列を出力するかどうかはわかりません。(どちらの場合も、ループを使用すると役立ちます。)

于 2012-04-13T22:45:25.830 に答える
1

2 つの文字列の文字を反復処理して、異なる文字が見つかるまで段階的に比較することができます。その時点で、文字列の長さから共通プレフィックスの文字数を引いたものを返すだけです。

次のようなことを試してください (コードはテストされていません。おそらく微調整を行う必要があります。また、これは最初の引数文字列の長さから接頭辞を引いたもののみを返します):

public int stringLength( String s1, String s2 )
{
  for ( int i = 0 ; i < Math.min( s1.length(), s2.length() ) ; i++ )
  {
    if ( s1.charAt( i ) != s2.charAt( i )
    {
      return s1.length() - i;
    }
  }

  return s1.length();
}
于 2012-04-13T22:55:23.453 に答える