Problem with an If loop / Gui application
2 次查看(过去 30 天)
显示 更早的评论
I have some problem in running the if loop. I get the string value of two text boxes using the get command. Next, I check if both of them has 'high' as their string. If yes, the msgbox appears (works). If no, the msgbox inside the else statement does not get executed. My knowledge in MATLAB is limited. Kindly help me out of this.
p1 = get(handles.n_text,'string')
p2 = get(handles.c_text,'string')
if (p1 == 'high')&(p2 == 'high')
msgbox('Difficult')
else
msgbox('easy')
end
采纳的回答
Manikandan
2011-3-9
2 个评论
Jan
2011-3-9
I've deleted my answer. I have not seen Walter's answer when I started to create mine. But Walter's was exhaustive already.
更多回答(1 个)
Walter Roberson
2011-3-9
Use strcmp() or strcmpi() instead of == . When you use == then if either of the strings are not exactly 4 characters long, the == comparison will fail with an error because == is an element-by-element comparison. p1(1) to be compared to 'h', p1(2) to be compared to 'i', and so on, which will fail if p1 does not have exactly 4 elements (characters).
When the routine fails with an error, the msgbox() in the else will not get executed.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!