how to create an error message when invalid data is input and then prompt to re-enter the data
9 ビュー (過去 30 日間)
古いコメントを表示
Eddie Burns
2019 年 11 月 14 日
コメント済み: JESUS DAVID ARIZA ROYETH
2019 年 11 月 15 日
person_age = input('Please enter persons age')
If person_age < 1
errordlg('Please input valid number','Error')
end
How do I display this error message and then prompt the user to re-enter the person_age?
Many thanks
0 件のコメント
採用された回答
JESUS DAVID ARIZA ROYETH
2019 年 11 月 14 日
person_age = input('Please enter persons age');
while person_age < 1
errordlg('Please input valid number','Error')
person_age = input('Please enter persons age');
end
4 件のコメント
JESUS DAVID ARIZA ROYETH
2019 年 11 月 15 日
person_age = input('Please enter persons age');
errors={'Please input valid number >1','Please input valid number <=120'};
while person_age < 1 || person_age>120
errordlg(errors([person_age < 1 person_age>120]) ,'Error')
person_age = input('Please enter persons age');
end
values=[10 20 30];
if ~ismember(person_age,values)
error(['only accept the ages ' num2str(values,'%i ')])
end
その他の回答 (1 件)
Guillaume
2019 年 11 月 14 日
Typical pattern for this is:
value = someinvalidvalue;
while valueisinvalid
value = input('Enter value');
end
Note that your test is extremely incomplete. Any of the following inputs would be considered valid age:
- NaN
- [-1, 2]
- Inf
- 'abcdef'
- 5 + 1i*2
You may want to change your test to:
while isnumeric(person_age) || isscalar(person_age) || isreal(person_age) || isfinite(person_age) || person_age < 1
参考
カテゴリ
Help Center および File Exchange で Migrate GUIDE Apps についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!