public static void printOddNumbers(int[] arr) {
        StringBuilder bilder = new StringBuilder();
        for (int i = 0; i < arr.length; i++)
            if (Math.abs(arr[i] % 2) !=0)
                bilder.append(arr[i] + ",");
            bilder.deleteCharAt(bilder.length() - 1);
        System.out.println(bilder);
        Присвоить итому элементу “-1”. Или не в этом вопрос?
Так а ошибка какая и где?
И если это происходит после запуска программы, то компилятор не причем, видимо это исключение (exception), а не ошибка компилятора.
если в строке нет ни одного нечетного числа, то строка получается ПУСТОЙ и попытка удалить последний символ (последнюю запятую) приводит к ошибке.
можно так исправить:
public static void printOddNumbers(int[] arr) {
        StringBuilder bilder = new StringBuilder();
        for (int i = 0; i < arr.length; i++)
            if (Math.abs(arr[i] % 2) !=0)
                bilder.append(arr[i] + ",");
        if(bilder.length()>1)
            bilder.deleteCharAt(bilder.length() - 1);
        System.out.println(bilder);
        программа выводит массив только с нечётными числами, можно ли реализовать это программу без условий , т.е без if??
“Без условий” и “без if” это разные вещи.
Условие-то в любом случае нужно каким-либо образом реализовать, если в массиве введенных чисел есть и четные, и нечетные, а надо оставить только нечетные.
В чем именно проблема?
в моей задачи , дан массив чисел int[] arr = {3,6,5,2,3,6,8,9,-1,-8};, нужно написать програму выводящую из массива только не чётные числа , - программа написано , но был замечание максимально избавиться от if -оф.
спасибо
Второй if в исправленном варианте выше можно заменить на String.join (вместо StringBuilder записывать в массив).
Ну а если совсем без if:
import java.util.*;
import java.util.stream.*;
public class Main
{
    public static void printOddNumbers(int[] arr) {
        int[] oddNumbers = Arrays.stream(arr).filter(num -> num % 2 != 0).toArray();
        String[] oddNumbersStrings = Arrays.stream(oddNumbers).mapToObj(String::valueOf).toArray(String[]::new);
        System.out.println(String.join(", ", oddNumbersStrings));
    }
    
	public static void main(String[] args) {
	    int[] arr = {3,6,5,2,3,6,8,9,-1,-8};
		printOddNumbers(arr);
	}
}
        спасибо)