2016-08-06 1 views
1

渡す方法次のコードのゲッターである異なる変数をループに使用しますか?渡す方法次のループのコードでゲッターである別のオブジェクト変数を渡しますか?

public class HtmlTags extends Employee { 
public HtmlTags() { 
} 

static HtmlTags htags; 
static String[][] tags = { { "<tr>", "</tr>" }, { "<th>", "</th>" }, 
     { "<td>", "</td>" }, { "<>", "</>" } }; 
String tag; 

public HtmlTags(int sno, String empName, int days, String tag) { 
    super(sno, empName, days); 
    this.tag = tag; 
} 

public static String htmlAppend(String tag) { 
    Employee emp = new Employee(1, "balaji", 10); 
    String result = ""; 
    int row = tags.length; 

    for (int i = 0; i < row; i++) { 
     for (int j = 0; j < 2; j++) { 
      if (tag.equals(tags[i][j])) { 
       row = i; 
       break; 
      } 
     } 
    } 
    if (row == HtmlTags.tags.length) { 
     result += "search failed to return any results"; 
    } else { 
     for (int i = 0; i < 3; i++) { 

      for (int j = 0; j < 1; j++) { 
       result += HtmlTags.tags[row][j] + emp.getEmployeeName() 
         + HtmlTags.tags[row][j + 1]; 
      } 
     } 
    } 

    return result; 

} 

} 

出力は次のようになります。 tr balaji /tr tr balaji /tr tr balaji /tr

予想される出力: tr balaji /tr tr 1 /tr tr 10 /tr

私は、従業員の変数(ゲッター)一つ一つを渡す必要があります。どんなヘルプの専門家?

+0

期待どおりの出力を追加できますか? – Joyson

答えて

1

あなたは

if (row == HtmlTags.tags.length) { 
    result += "search failed to return any results"; 
} else { 
    result = HtmlTags.tags[row][0] + emp.getEmployeeName() 
        + HtmlTags.tags[row][1]; 
    result += HtmlTags.tags[row][0] + emp.getEmployeeSNo() 
        + HtmlTags.tags[row][1]; 
    result += HtmlTags.tags[row][0] + emp.getEmployeeDays() 
        + HtmlTags.tags[row][1];  
} 
+0

なぜ私はそれを考えなかったか?ありがとうLokesh Agrawal –

1

をブロックし、他にこのようなものを使用することができますご注意:コードがひどくある「低レベル」。つまり、多くの概念を使用しています。しかし、それは働くために細かい細部をたくさん必要とします。

例:2次元配列を使用しないでください。代わりに、のHtmlTagsクラスを作成できます。

class HtmlTag { 
    private final String tagName; 
    HtmlTag(String tagName) { this.tagName; } 

    String embedInTag(String message) { 
    return "<" + tagName + "> " + message + "</" + tagName +">"; 
    } 

意味::良いプログラミングはすべて便利な抽象化の作成についてであるように動作します何か。あなたのコードは抽象的なものではありません。と私は言いたくなります:したがって、あなた自身のコード自体は、抽象的な抽象的な、複雑で、読みにくいです。ハードになります。

最後に、HtmlTagを子クラスのEmployeeにしました。 OOの観点からは、それは絶対に恐ろしいです。あなたは、良いOOのデザインは多くの以上を置く以上にをここに延長するか、または便利だと思われる!代わりに継承は "子親"です。そして、いいえ、HtmlTagはではありません従業員!

知っていると理解しておくべき重要な概念がたくさんあります。それらを見逃してしまった場合、作成したコードはうまく表示されます。これは失礼なものではなく、真剣にそのような話題を調べるべきであるというヒントです! 1つの出発点:SOLIDデザイン原則。

+0

私はそれを認めます!助けてくれてありがとうSir! GhostCat –

+0

あなたは大歓迎です。 – GhostCat

関連する問題