我想得到以下树状结果,[三街]为根节点,其中a2,a3,a5三个子节点被勾选
[三街]
a1
a2
a3
a4
a5
a6
可是为什么我的程序的双重循环后结果不对;public static String tree() {
StringBuffer strResult = new StringBuffer(); String[] s = { "a2", "a5", "a3" };
String[] st = { "a1", "a2", "a3", "a4", "a5", "a6" }; strResult.append("[三街]<br> "); for (int i = 0; i < st.length; i++) {
for (int j = 0; j < s.length; j++) {
if (st[i].equals(s[j])) {
strResult.append("<input type=\"checkbox\" checked />"
+ st[i] + "<br>");
} else {
strResult.append("<input type=\"checkbox\">" + st[i]
+ "<br>");
}
}
}
String treestr = strResult.toString();
return treestr;
}请帮我改改

解决方案 »

  1.   

    public static String tree() { 
    StringBuffer strResult = new StringBuffer(); String[] s = { "a2", "a5", "a3" }; 
    String[] st = { "a1", "a2", "a3", "a4", "a5", "a6" }; strResult.append("[三街] <br> "); for (int i = 0; i  < st.length; i++) { 
    for (int j = 0; j  < s.length; j++) { 
    if (st[i].equals(s[j])) { 
    strResult.append(" <input type=\"checkbox\" checked />" 
    + st[i] + " <br>"); 

    }
     
    strResult.append(" <input type=\"checkbox\">" + st[i] 
    + " <br>"); 
     

    String treestr = strResult.toString(); 
    return treestr; 

      

  2.   

    public static String tree1() {
    StringBuffer strResult = new StringBuffer(); String[] s = { "a2", "a5", "a3" };
    String[] st = { "a1", "a2", "a3", "a4", "a5", "a6" }; strResult.append("[三街]  <br> "); for (int i = 0; i < st.length; i++) {
    boolean isCheck = false;
    for (int j = 0; j < s.length; j++) {
    if (st[i].equals(s[j])) {
    strResult.append("  <input type=\"checkbox\" value=\""+st[i]+"\" checked>"
    + st[i] + "  <br>");
    isCheck = true;
    }
    }
    if(!isCheck){
    strResult.append("  <input type=\"checkbox\" value=\""+st[i]+"\">" + st[i] + "  <br>");
    }
    }
    String treestr = strResult.toString();
    System.out.println(treestr);
    return treestr;
    }
      

  3.   

    用 checked =true 试试看
      

  4.   

    [code]
    public static String tree() {
    StringBuffer strResult = new StringBuffer(); String[] s = { "a2", "a5", "a3" };
    String[] st = { "a1", "a2", "a3", "a4", "a5", "a6" }; strResult.append("[三街] <br> ");
    int k = -1;
    for (int i = 0; i < st.length; i++) {
    k = -1;
    for (int j = 0; j < s.length; j++) {
    if (st[i].equals(s[j])) {
    k = i;
    }
    }
    if (k > -1) {
    strResult.append(" <input type=\"checkbox\" checked />"
    + st[i] + " <br>\n");
    } else {
    strResult.append(" <input type=\"checkbox\">" + st[i]
                            + " <br>\n");
    }
    }
    String treestr = strResult.toString();
    //System.out.println(treestr);
    return treestr;
    }
    [/code]
      

  5.   

    public static String tree() {
    StringBuffer strResult = new StringBuffer(); String[] s = { "a2", "a5", "a3" };
    String[] st = { "a1", "a2", "a3", "a4", "a5", "a6" }; strResult.append("[三街] <br> ");
    int k = -1;
    for (int i = 0; i < st.length; i++) {
    k = -1;
    for (int j = 0; j < s.length; j++) {
    if (st[i].equals(s[j])) {
    k = i;
    }
    }
    if (k > -1) {
    strResult.append(" <input type=\"checkbox\" checked />"
    + st[i] + " <br>\n");
    } else {
    strResult.append(" <input type=\"checkbox\">" + st[i]
                            + " <br>\n");
    }
    }
    String treestr = strResult.toString();
    System.out.println(treestr);
    return treestr;
    }