Problem in while loop when input is characters or words

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:)

답변 (1개)

David Sanchez
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

doesn't matlab displays:
Operands to the and && operators must be convertible to logical scalar values.
:(
when you copy-paste the example i gave you, what's the error? What is your input?
the matlab display the following message:
Operands to the and && operators must be convertible to logical scalar values.
and my W=[60 70 80]
actually it works now, but i can't exit the while loops:S
To exit the loop ( while-loop I gave you ) do not type anything and push Enter

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Programming에 대해 자세히 알아보기

태그

질문:

2014년 6월 23일

댓글:

2014년 6월 24일

Community Treasure Hunt

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

Start Hunting!

Translated by