フィルターのクリア

How do I get my MATLAB code to display an error if the user input number is less than four digits and has less than two distinct numbers?

1 回表示 (過去 30 日間)
clear
clc
constant = 6174; % Initialize end condition of while loop
steps = 0; % Initialize steps in a loop
user = input('Please enter a 4 digit number: ') % User inputs a number
digits = num2str(user);
if numel(num2str(user)) < 4 && length(unique(digits)) < 2{
disp("Error. Not a valid number. Enter a four digit number with at least two distinct numbers")
}
end

採用された回答

Walter Roberson
Walter Roberson 2024 年 2 月 26 日
user = input('Please enter a 4 digit number: ') % User inputs a number
digits = num2str(user);
if numel(digits) < 4 || length(unique(digits)) < 2
error("Error. Not a valid number. Enter a four digit number with at least two distinct numbers");
end
However, you have problems if the user inputs a number starting with 0.
  2 件のコメント
Richard
Richard 2024 年 2 月 26 日
Thank you!
Is there a way to do it with a number with leading zeros?
Walter Roberson
Walter Roberson 2024 年 2 月 26 日
編集済み: Walter Roberson 2024 年 2 月 26 日
digits = input('Please enter a 4 digit number: ', 's'); % User inputs a number
if numel(digits) ~= 4 || length(unique(digits)) < 2 || ~all(isstrprop(digits, 'digit'))
error("Error. Not a valid number. Enter a four digit number with at least two distinct numbers");
end

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangePhysics についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by