Does anyone know why my 2nd conditional statement is being ignored in this while loop?

조회 수: 3 (최근 30일)
Does anyone know why my second conditional statement "units(1) ~= 'n'" is being ignored when this code block is run? When the 2nd statement is removed the code runs without problems.
units = strings([1,4]);
torque_force_input = input('Input the unit of force for your initial torque\n','s');
units(1)= torque_force_input;
while units(1) ~= 'N'||units(1) ~= 'n'
disp('Please input a valid unit for the torque''s force.');
torque_force_input = input('Input a unit of force for your torque...\n','s');
units(1)= torque_force_input;
end

채택된 답변

Mehmed Saad
Mehmed Saad 2020년 5월 1일
편집: Mehmed Saad 2020년 5월 1일
Suppose i enter Nm in command window then units will be
units
units =
1×4 string array
"Nm" "" "" ""
if you try the access the first letter
units(1)
ans =
"Nm"
you have the complete word the user enters and not a single character
to access first index
units{1}(1)
ans =
'N'
Now for the while loop, it keeps runing untill it receives false. so if user inputs N, so
'N' ~= 'N' || 'N' ~= 'n'
this will give you true and while loop will keep runing. you need a condition such that if any of them is true you get false and if both are false you get true

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by