如何确定数组中的数字是否为偶数

时间:2019-05-09 17:39:47

标签: delphi

我想看看数组中的给定数字是否为偶数

我尝试使用mod 2并以丰富的编辑内容进行显示

   procedure TForm1.btnDisplayCriteriaClick(Sender: TObject);
   var
     Number,Check:Integer;
   begin
     redDisplay.Clear;
     if rbgCriteria.ItemIndex=2 then begin
       Number:=Numbers[ask];
       for I := 1 to ask do
         if not ODD(Number) then
            redDisplay.Lines.Add(IntToStr(Numbers[Number]));
     end;
   end;

在delphi还是个新手,所以我需要编码方面的帮助 我希望它可以在richedit中显示偶数,但可以给我随机整数

1 个答案:

答案 0 :(得分:5)

错误是如何迭代整数数组。 Number的分配是在循环外部完成的。

而是在循环内移动分配,如本例所示:

procedure TForm1.btnDisplayCriteriaClick(Sender: TObject);
var
  Number : Integer;
begin
  redDisplay.Clear;
  if rbgCriteria.ItemIndex=2 then begin
    for I := 1 to ask do begin
      Number:= Numbers[I];       
      if not Odd(Number) then
        redDisplay.Lines.Add(IntToStr(Number));  // Display even number
    end;
  end;
end;

其他测试偶数的方法是:

if (Number mod 2) = 0 then  // Using the modulo operator

if (Number and 1) = 0 then // Using a bitwise test for the least significant bit