Problem in while loop when input is characters or words
Mostrar comentarios más antiguos
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:)
Respuestas (1)
David Sanchez
el 23 de Jun. de 2014
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 comentarios
Jian Gui
el 23 de Jun. de 2014
David Sanchez
el 23 de Jun. de 2014
when you copy-paste the example i gave you, what's the error? What is your input?
Jian Gui
el 23 de Jun. de 2014
Jian Gui
el 23 de Jun. de 2014
David Sanchez
el 24 de Jun. de 2014
To exit the loop ( while-loop I gave you ) do not type anything and push Enter
Categorías
Más información sobre Programming en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!