How to use if statement to compare strings
古いコメントを表示
So I have an input statement to enter a gender that asks the user to input m for male and f for female. I only want the user to input either m or f. I have:
if genderInput ~= m || genderInput ~= f
genderInput = input('Please enter a valid input.\n');
end
but it doesn't work. Why doesn't it work?
1 件のコメント
Dennis
2018 年 11 月 5 日
it is not clear if m and f are the strings you want to compare with or if they are variables holding the string.
For comparing strings in the first place you might want to use
strcmp or strcmpi
回答 (2 件)
Bruno Luong
2018 年 11 月 5 日
編集済み: Bruno Luong
2018 年 11 月 5 日
if isempty(genderInput) || (lower(genderInput(1)) ~= 'm' || lower(genderInput(1)) ~= 'f')
genderInput = input('Please enter a valid input.\n');
end
1 件のコメント
Bruno Luong
2018 年 11 月 5 日
編集済み: Bruno Luong
2018 年 11 月 5 日
The code can accept both format short ('m' 'f'} or long {'male' 'female'}, lower-case as well as upper-case based on the first character.
Stephen23
2018 年 11 月 5 日
gI = '';
while ~ismember(gI,{'m','f'})
gI = input('Enter gender: ','s');
end
カテゴリ
ヘルプ センター および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!