Problem in while loop when input is characters or words
2 次查看(过去 30 天)
显示 更早的评论
Hi all. I am trying to make a while loops that will keep on running if the user input is a str, a number less and equal 0 or the number is longer the length of my vector. But it doesn't work, plz help:)
deleterowStr=input('Please enter the number of the row:','s');
deleterow=str2num(deleterowStr);
while ~((~isempty( choiceNum) && deleterow <=0 || deleterow > length(W)) || strcmpi(deleterowStr,'')==1)
disp('Invaild row number')
deleterowstr=input('Please enter the number of the row:','s');
deleterow=str2num(deleterowstr);
end
thx:)
0 个评论
回答(1 个)
David Sanchez
2014-6-23
You do not say who is either W or choiceNum, but with the two variables in play, you can do it like this.
Watch the capital S in deleterowStr within the while loop
deleterowStr = input('Please enter the number of the row:','s');
deleterow = str2double(deleterowStr);
while ~strcmpi(deleterowStr,'') || deleterow <= 0
disp('Invaild row number')
deleterowStr = input('Please enter the number of the row:','s');
deleterow = str2double(deleterowStr);
end
5 个评论
David Sanchez
2014-6-24
To exit the loop ( while-loop I gave you ) do not type anything and push Enter
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!