возвращает ноль, когда массив находится за пределами желаемого диапазона - PullRequest
0 голосов
/ 15 января 2019

Скажем, у меня есть функция, которая создает массив:

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;
}

Как я могу получить вывод для null, когда j < 0?

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Вы можете просто добавить одну строку в качестве проверки троичного оператора к приведенному выше коду. Вот модифицированный код:

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;
 }
0 голосов
/ 15 января 2019

Проверка 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...