0
void replace3sWith4s(int[] replace){
  for (int i = 0;i<replace.length;i++){
      if (replace[i]==3);{
          replace[i]=4;
      }
  }
}

我的程序正在用#4 替换所有数字,但我想要一个包含 3 的数组,采用一个整数数组,并将任何值为 3 的元素更改为值为 4。

4

3 回答 3

4
if (replace[i]==3);
                 ^^^

删除分号。它应该是

if (replace[i]==3) {
      replace[i]=4;
}

分号将含义更改为

if (replace[i]==3)
    ;//do nothing

// Separate New block
{
    replace[i]=4;
}
于 2013-10-02T07:30:19.000 回答
3
(replace[i]==3); 

就像写作

(replace[i]==3) { }

什么都不做。

您的代码等效于以下代码:

void replace3sWith4s(int[] replace){
  for (int i = 0;i<replace.length;i++){
      if (replace[i]==3) { }
      replace[i]=4;  //Always reachable
      }
  }
}

要修复您的代码,请删除分号:

(replace[i]==3); 
               ^
于 2013-10-02T07:32:13.247 回答
-1

您也可以根据您的数组类型在 if 语句中尝试此方法

if (replace[i].equals("3")){

replace[i]=4;   

}

于 2013-10-02T08:04:30.427 回答