请教 循环

iabcz 2008-03-24 06:05:08
我想得到以下树状结果,[三街]为根节点,其中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;
}

请帮我改改
...全文
137 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
endswel 2008-03-25
  • 打赏
  • 举报
回复
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;
}
endswel 2008-03-25
  • 打赏
  • 举报
回复

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;
}
zjhlht 2008-03-24
  • 打赏
  • 举报
回复
学习~~~~~
fy_kenny 2008-03-24
  • 打赏
  • 举报
回复
用 checked =true 试试看
gcl800 2008-03-24
  • 打赏
  • 举报
回复

eassen_licd 2008-03-24
  • 打赏
  • 举报
回复
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;
}
iabcz 2008-03-24
  • 打赏
  • 举报
回复
还是不对呀
LYWTC128 2008-03-24
  • 打赏
  • 举报
回复
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;
}

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧