Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab:显示错误消息并循环返回,以允许用户重试_Matlab_Loops - Fatal编程技术网

Matlab:显示错误消息并循环返回,以允许用户重试

Matlab:显示错误消息并循环返回,以允许用户重试,matlab,loops,Matlab,Loops,我正在编写一个程序,用户在其中输入一个正整数,然后计算以该值开始的序列。如果输入的值低于零,我知道如何显示错误消息,但我不知道如何简单地返回并允许用户再次尝试输入 n = input('Please insert an integer '); if n <= 0 error('Only integer inputs are allowed, try again.') elseif n > 0 (sequence is coded here) end n=i

我正在编写一个程序,用户在其中输入一个正整数,然后计算以该值开始的序列。如果输入的值低于零,我知道如何显示错误消息,但我不知道如何简单地返回并允许用户再次尝试输入

n = input('Please insert an integer ');

if n <= 0    
    error('Only integer inputs are allowed, try again.')
elseif n > 0
    (sequence is coded here)
end
n=input('请插入一个整数');
如果n 0
(此处对序列进行编码)
终止

虽然我知道这很简单,但我不知道怎么做。

使用
while
循环并保持循环,直到输入有效的输入。顺便说一句,您不想使用
错误
,因为这将使您的程序终止。您只需要显示错误,然后允许循环返回到代码的开头并重试。您还需要将消息更改为显示,以反映只应输入正整数。您将其作为“整数”,告诉用户您也可以输入负整数:

while true
    n = input('Please insert an integer ');

    if n <= 0    
        disp('Only positive integer inputs are allowed, try again.')
    else
        (sequence is coded here)
        break; % Terminate the loop as we have succeeded
    end
end

很好,我几乎一字不差地写出了完全相同的答案haha@Benoit_11德索莱:)我的键盘上有一个水晶。DTF,谢谢你,加油+1!非常感谢大家@MichaelRoberts,如果你不再需要帮助,请考虑接受这个答案。
n = 0;
while n <= 0
    n = input('Please insert an integer: ');
    if n <= 0
        disp('Only positive integer inputs are allowed.  Try again.');
    else
        (sequence is coded here)
    end
end