if(name.equals("a"))
tree.expandRow(0);
else if(name.equals("b"))
tree.expandRow(1);
else if(name.equals("c"))
tree.expandRow(2);
当name 属于谁时候,就展开相应的节点。
但是有时候 name 既属于a 也属于c, 但是只展开 a 节点。。
我想要 a和c都展开。
每次if else if 都内置了break ? 我用switch的话,不添加break,每次只展开第一个节点。
需要怎么写呢?
我一开始就是用的多个 并行的if
第1个回答 2013-02-19
if,else条件语句你没理解,如果符合if的条件,else是不执行的。你可以这样写if(name.equals("a")&&name.equels("b")){......}懂吧.
switch,case条件语句的话里面必须是整数表达式,如果你第一个条件不加break会执行第二个条件,但是如果你第二个条件加break了还是会跳出和,按后面跟着b你可以,但是如果a后面跟着c,你肯定不行.switch,case语句肯定要break的
如果你的意思是名字name中包含a或者c的话就不能用equels了,应该用正则表达式去匹配
switch,case条件语句的话里面必须是整数表达式,如果你第一个条件不加break会执行第二个条件,但是如果你第二个条件加break了还是会跳出和,按后面跟着b你可以,但是如果a后面跟着c,你肯定不行.switch,case语句肯定要break的
如果你的意思是名字name中包含a或者c的话就不能用equels了,应该用正则表达式去匹配
第2个回答 推荐于2016-10-31
把所有的else都去掉
if(){}
if(){}
if(){}
这样每个判断都会走的, 你用else, 只会走一个追问
if(){}
if(){}
if(){}
这样每个判断都会走的, 你用else, 只会走一个追问
没用
本回答被提问者和网友采纳第3个回答 2013-02-19
把所有else去掉应该是对的。
当时name.equals("a") && name.equals("c")应该是不存在的,你可以debug下,在你说的name既属于a也属于c的时候看下name到底是什么。
equals是判断对象是否相等的。
当时name.equals("a") && name.equals("c")应该是不存在的,你可以debug下,在你说的name既属于a也属于c的时候看下name到底是什么。
equals是判断对象是否相等的。
第4个回答 2013-02-19
你用的equals,表示两个对象相等(物理地址不相等),既然是这样,怎么可能既equals("a")又equals("c")呢?按你的说法,有时候 name 既属于a 也属于c,你想要 a和c都展开,那为什么又要用equals方法呢?不知道是你描述的不清楚,还是我理解的有问题,equals是判断两个对象是否相等,不是判断某个对象是否属于某个范围,个人觉得楼主思路有点问题。追问
我思路是有问题了 = =
第5个回答 2013-02-19
if else 是在你满足if时就不去判断else后面的了,所以当你满足a时,c就不判断了,你可以都用if,不要else了追问
我一开始就是都用的if。 没用, 还是展开了a , 没有展开c
追答能把具体的代码贴出来吗,你也可以把name值输出来,看看name值是否准确,equals是值相等,看你name到底是什么的。你既要显示a的又要显示c的,你可以给name赋新值,如“ac”,然后equals这个,在里面显示tree.expandRow(0);tree.expandRow(2);