2016-10-24 5 views
-2

最近、静的メソッドの学習を開始しました。この割り当てでは、文字列を変更するいくつかの静的メソッドを作成する「文字ヘルパー」プログラムを作成しています。それらは:2つの文字列を一緒に噛み合わせる静的メソッドを作成する

meshStrings:このメソッドは、パラメータを介して2つの文字列を受け取り、それらを一緒に噛み合わせ、メッシュ化された文字列を返します。メッシングは、最初の文字列の各文字を次の文字列のすべての文字と置き換えます。完全にメッシュ化するのに十分な文字がない場合、残りの文字は末尾に追加されます。たとえば、2つの文字列が"harp"および"fiddle"の場合、返される文字列はhfairdpdleになります。ここで

は私が持っているもののスタートだ、私は多くを持っていない:

public class StringHelper { 
public static String meshStrings (String string1, String string2) 
{ 

} 

ドライバー・クラス:

public class StringHelperTester { 

public static void main (String[] args) 
{ 
    System.out.print(StringHelper.meshStrings("fiddle", "harp")); 
} 

私はあなたがいることをループのためのいくつかの種類があるでしょうと仮定します各文字列の長さはcharAtであるが、私はそれを設定する最良の方法ではない。ヘルプは高く評価されます。

答えて

1

あなたのスキルの効果を向上するための最良の方法は...ちょうど試してみることです

public static String meshStrings (String string1, String string2) { 
     StringBuffer buff = new StringBuffer(); 
     int max = Math.max(string1.length(), string2.length()); 
     for(int i = 0; i < max; i++) { 
      if(i < string1.length()) { 
       buff.append(string1.charAt(i)); 
      } 
      if(i < string2.length()) { 
       buff.append(string2.charAt(i)); 
      } 
     } 
     return buff.toString(); 
    } 

KISS:それはシンプルかつ愚か保ちます。必要に応じてこのコードを拡張することができます。最適ではありません。

+0

大変ありがとうございました!しかし、私はこの "StringBuffer"について聞いたことがありませんので、私はそれが何をしているのか正確には分かりません。また、私は.appendメソッドも見ていません。あなたや他の誰かが精巧に心を込めていますか? –

+0

Javaを学んでいるなら、Javadocとオートコンプリートがうまく機能するEclipseのようなIDEを使用してください。 割り当て後に通常の文字列を変更することはできません。s = s1 + s2が新しい割り当てです。 StringBufferは、実装方法にかかわらず、char /その他の文字列を追加して文字列を作成するように最適化されています。 – crashxxl

関連する問題