Effacer les filtres
Effacer les filtres

Problem in while loop when input is characters or words

3 vues (au cours des 30 derniers jours)
Jian Gui
Jian Gui le 23 Juin 2014
Commenté : David Sanchez le 24 Juin 2014
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:)

Réponses (1)

David Sanchez
David Sanchez le 23 Juin 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 commentaires
Jian Gui
Jian Gui le 23 Juin 2014
actually it works now, but i can't exit the while loops:S
David Sanchez
David Sanchez le 24 Juin 2014
To exit the loop ( while-loop I gave you ) do not type anything and push Enter

Connectez-vous pour commenter.

Catégories

En savoir plus sur Environment and Settings dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by