java массив, как вывести массив с типом данных инт??? хочу вывести сумму всех положительных и сумму всех отрицательных чисел в виде массива

import java.util.Arrays;

public class Kata {
    public static void main(String[] args) {
        System.out.println(countPositivesSumNegatives(new int[] {1,2,-4,5,-6,6}));
    }
    public static int[] countPositivesSumNegatives(int[] input)
    {
        int resN = 0;
        int resP = 0;
        for (int i = 0; i <input.length; i++) {
            
            if(input[i]<0) {
                 resN +=input[i];
            }
            if (input[i] >= 0){
               resP += input[i];
            }
            int[] ans = new int[2];
            ans[0] = resN;
            ans[1] = resP;
        }
        return new int[2]{resN, resP};
    }
}```

//хочу вывод [-10,14] или 0 если нет пол и отриц

Ответы (1 шт):

Автор решения: Charismatic

Ну у тебя, практически все правильно

 public static void main(String[] args) {
        System.out.println(Arrays.toString(countPositivesSumNegatives(new int[]{1, 2, -4, 5, -6, 6}))); // для корректного вывода массива, используй Arrays.toString, либо через цикл + sout
    }
    public static int[] countPositivesSumNegatives(int[] input)
    {
        int resN = 0;
        int resP = 0;
        for (int i = 0; i <input.length; i++) {

            if(input[i]<0) {
                resN +=input[i];
            }
            if (input[i] >= 0){
                resP += input[i];
            }
            /*int[] ans = new int[2];
              ans[0] = resN;
              ans[1] = resP; этот массив существует только в цикле, в return ты не сможешь его положить, либо выносишь инициализацию до цикла, либо возвращаешь так как ты вернул*/ 
        }
        return new int[]{resN, resP}; // не нужны указывать размер массива, если ты сразу передаешь значения 
    }
→ Ссылка