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}; // не нужны указывать размер массива, если ты сразу передаешь значения
}