2016-08-06 15 views
1

Wie man verschiedene Variablen übergibt, die Getter in den folgenden Codes für Schleife ist ???Wie übergeben Sie verschiedene Objektvariablen, die Getter in den folgenden Code für die Schleife ist?

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; 

} 

} 

Ausgabe ist: tr balaji /tr tr balaji /tr tr balaji /tr

erwartete Ausgabe: tr balaji /tr tr 1 /tr tr 10 /tr

i müssen Mitarbeiter Variablen (Getter) nacheinander passieren. Irgendwelche Hilfsexperten?

+0

Können Sie hinzufügen, was ist die Ausgabe, die Sie erwarten? – Joyson

Antwort

1

Sie können in der sonst

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

Omg, warum ich das nicht gedacht habe !!! Danke Lokesh Agrawal –

1

Bitte blockieren so etwas wie diese verwenden beachten Sie: Sie Code ist schrecklich "low-level". Das bedeutet, dass Sie viele Konzepte verwenden, die ja funktionieren; aber das erfordert eine Menge kleiner Details, um zu funktionieren.

Zum Beispiel: Verwenden Sie kein zweidimensionales Array. Stattdessen könnten Sie eine echte Klasse für HtmlTags erstellen; etwas, das wie funktioniert:

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

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

Bedeutung: gute Programmier alle über das Erstellen von nützliche Abstraktionen ist. Dein Code abstrahiert nichts; und ich bin versucht zu sagen: Daher ist Ihr Code selbst wirklich abstrakt, komplex, schwer zu lesen, und wird hart im Laufe der Zeit beibehalten werden.

Schließlich: Sie haben HtmlTag eine Kindklasse von Employee. Aus einer OO-Perspektive ist das absolut schrecklich. Sie sehen, gute OO-Design ist viel mehr als nur setzen erweitert hier oder die, weil es bequem scheint! Stattdessen ist Vererbung etwa "Kind ist ein Elternteil". Und, nein, ein HtmlTag ist nie ein Angestellter!

Es gibt viele wichtige Konzepte zu wissen und zu verstehen, und wenn Sie diese vermissen, der Code, den Sie erstellen .. nun, sieht aus wie das Chaos, das Sie hier zeigen. Das soll nicht unhöflich sein, nur ein Hinweis darauf, dass Sie solche Themen ernsthaft prüfen sollten! Ein Ausgangspunkt: Design-Prinzipien.

+0

Ich gebe es zu !! Danke für Ihre Hilfe Sir !!! GhostCat –

+0

Sie sind herzlich willkommen. – GhostCat