【问题标题】:Inside an If statement how to perform only certain actions.在 If 语句中如何仅执行某些操作。
【发布时间】:2013-11-08 09:43:24
【问题描述】:

基本上我有一个长度为 6 的数组。这个数组用于一个简单的 for 循环。在 for 循环中,我有一个 if 语句。问题是,如果满足 if 语句中的条件,那么显然 if 语句之外的所有内容都被执行了。这不是我想要的。

例如,如果数组的第 2 和第 4 个元素仅通过条件,则我需要仅用于执行“arrayp2”和“arrayp4”。

任何帮助都会令人惊叹。提前致谢!

for (int i = 0; i < array.length; i++)
{
    if (array[i] >= 100)
    {
        arrayp1.someMethod(Action);
        arrayp2.someMethod(Action);                 
        arrayp3.someMethod(Action);             
        arrayp4.someMethod(Action);             
        arrayp5.someMethod(Action);                     
        arrayp6.someMethod(Action);
    }
}

【问题讨论】:

  • 对不起,如果我误解了,但您是在问如何在 if 语句中的代码中实现条件操作?
  • "I need if, for example, the 2nd and 4th element of the array only pass the condition then only for "arrayp2" and "arrayp4" to be performed." - 这是什么意思?
  • 我的意思是如果说只有数组的第三个元素通过 if 语句,那么只有“arrayp3.someMethod(Action);”必须执行。如果数组的第 5 和第 6 个元素通过 if 语句,则只有“arrayp5.someMethod(Action);”和“arrayp6.someMethod(Action);”必须执行。你明白?并感谢您的帮助! - 还有它的 Java。

标签: java arrays if-statement for-loop int


【解决方案1】:

我想你想要一个 switch 语句。

for (int i = 1; i <= array.length; i++)
{
    switch(i){
         case 1: if (array[i - 1] >= 100) arrayp1.someMethod(Action); break; 
         case 2: if (array[i - 1] >= 100) arrayp2.someMethod(Action); break; 
         case 3: if (array[i - 1] >= 100) arrayp3.someMethod(Action); break; 
         case 4: if (array[i - 1] >= 100) arrayp4.someMethod(Action); break; 
         case 5: if (array[i - 1] >= 100) arrayp5.someMethod(Action); break; 
         case 6: if (array[i - 1] >= 100) arrayp6.someMethod(Action); break; 
    }
}

【讨论】:

  • 我的意思是如果说只有数组的第三个元素通过 if 语句,那么只有“arrayp3.someMethod(Action);”必须执行。如果数组的第 5 和第 6 个元素通过 if 语句,则只有“arrayp5.someMethod(Action);”和“arrayp6.someMethod(Action);”必须执行。你明白?并感谢您的帮助! - 还有它的 Java。
  • 条件是什么?超过100?有多少元素,6?
  • 6 个元素,它只是我只想根据元素的数量运行 if 中的相应行。
  • 查看我的编辑。我想你想要i 的 switch 语句。但是从 1 开始 i
【解决方案2】:

您使用 2 个 if 语句,而其中只需要 1 个。您的第一个 if 语句应该已经可以解决问题了。

if(array[i] >= 100){
      system.out.println("hello world");
   }

for循环遍历数组的所有值,满足条件时执行if语句。

【讨论】:

    【解决方案3】:

    将 arrayp1、arrayp2、...、arrayp6 也放在数组 A 中

    如果您可以通过以下方式访问它们:A[i].someMethod(Action)

    【讨论】:

      猜你喜欢
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 2014-05-23
      • 2012-12-31
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多