【问题标题】:returning null when the array is outside the desired range当数组超出所需范围时返回 null
【发布时间】:2019-01-15 14:01:17
【问题描述】:

假设我有一个生成数组的函数:

static long[] solveEquationB(int x, int j) 
{  
    long[] e = new long[j];
    for (int i = 1; i < j; i++)
    {
       x = 1.0*x/(2.0) + 3 ;
       e[i] = x;
    }
    return e;
}

j &lt; 0 时,如何让输出产生null

【问题讨论】:

  • if (j &lt; 0) return null;
  • 在数组初始化之前你可以检查j,如果j
  • 请注意,对于 Collection 类,返回一个空集合而不是 null 被认为是一种好习惯,我想这同样适用于数组,即使我自己从未遇到过。

标签: java arrays output


【解决方案1】:

在创建数组之前测试j

static long [] solveEquationB (int x, int j) 
{  
    long[] e = null;
    if (j >= 0) { // or perhaps > 0 if you don't want to return an empty array
        e = new long[j];
        for (int i = 1; i < j; i++)
        {
            x = 1.0*x/(2.0) + 3 ;
            e[i] = x;
        }
    }
    return e;
}

【讨论】:

    【解决方案2】:

    您可以在上面的代码中添加一行作为三元运算符检查。这是修改后的代码:

    static long[] solveEquationB(int x, int j) {  
         long[] e = j > 0? new long[j]: null;
         for (int i = 1; i < j; i++) {
            x = 1.0*x/(2.0) + 3 ;
            e[i] = x;
         }
    
         return e;
     }
    

    【讨论】:

      猜你喜欢
      • 2020-12-22
      • 2016-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-20
      • 2014-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多