在我的代碼中,如果條件應該根據命令行參數而改變。 例如,在下面的代碼:如何根據Java中的命令行參數自動更改「if」條件?
int a = Integer.parseInt(args[0]);
for (int i = 0; i < 100000; i++)
{
if (a == 2)
if ((i % 25 == 0) || ((i+1) % 25 == 0)
// do something
else if (a == 3)
if ((i % 25 == 0) || ((i+1) % 25 == 0) || ((i + 2) % 25 == 0))
// do something
//...
}
如果命令行參數的增加,條件的數目內部「如果」應增加。因此,「if」條件取決於命令行參數,它可以在1到50之間。我需要一些最佳方法來避免寫入「if」條件50次。
您要添加另一個(第(i + 1)%25 == 0)與遞增取決於一個數字 '1' 一起? – king
你需要將模式封裝到一個函數中。 「我」似乎是唯一真正改變的部分,所以這應該是一個相當簡單的模式來表示。在函數式語言中,我將'||'在從0到'a'的列表上進行摺疊。在一個命令式的語言中,使用一個使用從0到'a'的索引的for循環和一個跟蹤至少一次是否滿足條件的控制器可以實現同樣的效果。 – Carcigenicate
@Carcigenicate看看我的答案。後者正是我所做的。 –