0

考虑我有

a = 输入(值 = );如何防止用户输入 i 和 j 作为输入值。如果 a == 任何值涉及 i 和 j 然后中断或终止并再次提示函数 a = input(value = ),我想要一个类似 tat 的代码。

之间我已经厌倦了这样的事情,但它不起作用(错误仍然出现并且它无法提示第二个定义的输入a = input('再次输入')),任何人都可以向我解释我的错误在哪里完成了。

if ~isnan(x) || ~isnumeric
    a = input('enter again');
else
    continue
end

我将非常感谢所有的帮助。

4

2 回答 2

2

尝试以下操作以继续按用户输入符合您的条件的值。根据我的评论,这篇文章很好地说明了如何实现这一目标。它不是使用OR而是AND有一个坚定的条件验证。

   while ~(~isempty(a) ...
                && isnumeric(a) ...
                && isreal(a) ...
                && isfinite(a) ...
                && (a == fix(a)) ...
                && (a > 0))
        a = input('Enter the number of dice to roll: ');
    end
于 2012-12-25T16:34:28.860 回答
1

试试这个

a = NaN;
while isnan(a) || ~isreal(a)
   a = input('value=','s');
   a = str2double(a);
end
于 2012-12-25T16:31:30.497 回答