Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/95: Рейтинг темы: голосов - 95, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 08.01.2022
Сообщений: 11
1

Нечетные числа

03.02.2022, 16:24. Показов 17933. Ответов 9

Author24 — интернет-сервис помощи студентам
Java
1
2
3
4
5
6
7
8
9
public static void printOddNumbers(int[] arr) {
    System.out.println();
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % 2 == 1) {
               System.out.print(arr[i] + ",");
            }
        }
        System.out.println();
    }

Пример ввода: [3,5,20,8,7,3,100]

Пример вывода: 3,5,7,3

А у меня выводит 3,5,7,3,
подскажите как удалить запятую в конце
Задание:
Напишите метод printOddNumbers, который принимает массив и выводит в консоль только нечетные числа из него, через запятую. Конец вывода должен перевести курсор на новую строку.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2022, 16:24
Ответы с готовыми решениями:

Отсортировать нечетные числа по убыванию
отсортировать нечетные числа по убыванию (четные оставить на своих местах), не пойму почему не...

Двойной факториал + четные нечетные числа
Задача. Описать функцию Fact2(N) целого типа, вычисляющую значение &quot;двойного факториала&quot;:...

Вывести четные числа в порядке возрастания их индексов, а затем — все нечетные числа в порядке убывания их индексов
Пожалуйста помогите с решением данных задач Дан целочисленный массив размера N. Вывести вначале...

Вывести все содержащиеся в данном массиве нечетные числа в порядке возрастания их индексов, а также их количество
Пожалуйста помогите с решением данных задач Дан целочисленный массив размера N. Вывести все...

В массив B записать все четные числа из заданного целочисленного одномерного массива A, а в массив С - нечетные
Заполнить массивы B и C, переписав в массив B все четные числа из заданного целочисленного...

9
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
03.02.2022, 16:52 2
ну, видимо, надо сначала найти все подходящие числа, а потом уже куда-то их выводить так, как тебе нужно
0
0 / 0 / 0
Регистрация: 08.01.2022
Сообщений: 11
03.02.2022, 16:54  [ТС] 3
Там компилирующая программа все сама добавит, нужно чисто решение.
0
3572 / 2173 / 570
Регистрация: 02.09.2015
Сообщений: 5,490
03.02.2022, 17:04 4
Цитата Сообщение от nikita13456 Посмотреть сообщение
подскажите как удалить запятую в конце
Java
1
2
3
4
5
6
void printOddNumbers(int[] arr) {
  final var result = Arrays.stream(arr).filter(x -> x % 2 == 1).mapToObj(Integer::toString).collect(Collectors.joining(","));
  System.out.println(result);
}
 
printOddNumbers(new int[]{3,5,20,8,7,3,100});
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
03.02.2022, 17:19 5
Цитата Сообщение от nikita13456 Посмотреть сообщение
Там компилирующая программа все сама добавит, нужно чисто решение.
и как это мешает сделать два отдельных метода - один для нахождения чисел, второй для формирования из них строки?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36600 / 20329 / 4220
Регистрация: 12.02.2012
Сообщений: 33,637
Записей в блоге: 13
03.02.2022, 18:40 6
Java
1
2
3
4
5
6
7
8
9
10
11
12
public static void printOddNumbers(int[] arr) {
       int q=0;
       System.out.println();
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % 2 == 1) {
               if (q != 0) System.out.print(",");
               System.out.print(arr[i]);
               q=1;
            }
        }
        System.out.println();
}
0
0 / 0 / 0
Регистрация: 08.01.2022
Сообщений: 11
04.02.2022, 07:41  [ТС] 7
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void printOddNumbers(int[] arr) {
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < arr.length; i++) {
        if (arr[i] % 2 != 0) {
            sb.append(arr[i]);
            sb.append(",");
        }
    }
        
    if (!sb.isEmpty()) {
        sb.deleteCharAt(sb.length() - 1);   
    }
            
    System.out.println(sb);
}
Вот так решил
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36600 / 20329 / 4220
Регистрация: 12.02.2012
Сообщений: 33,637
Записей в блоге: 13
04.02.2022, 11:04 8
nikita13456, зачем лишние навороты?
0
0 / 0 / 0
Регистрация: 08.01.2022
Сообщений: 11
07.02.2022, 08:56  [ТС] 9
Система твой вариант решения не приняла, хотят решение через билдер.
0
729 / 435 / 66
Регистрация: 22.12.2013
Сообщений: 2,291
Записей в блоге: 19
07.02.2022, 12:31 10
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
 public static void printOddNumbers(int[] arr) {
 
        String sp = ""; //пустой разделитель
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % 2 != 0) {
                System.out.print(sp); //  разделитель пустой в начале, затем мы пишем sp = ", "; 
                System.out.print(arr[i]);    // элемент массива
                sp = ", ";            // разделитель с запятой
            }
        }
 
 
    }
Добавлено через 2 минуты
PS. Стек раскручивается в обратном порядке, а вы этого не учли.
0
07.02.2022, 12:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2022, 12:31
Помогаю со студенческими работами здесь

Как после перебора на нечетные числа в массиве вывести только 2 числа?
Как после перебора на нечетные числа в массиве вывести только 2 числа? package first; import...

Вывести все нечетные числа в заданном диапазоне
скрипт помогите такой на яве написать(

Ввести значение переменной к- натуральное число. Вывести нечетные числа, не превосходящие к
Ввести значение переменной к- натуральное число. Вывести нечетные числа, не превосходящие к.

Clojure Рекурсия: заменить все списки, содержащие только нечетные числа, суммой этих чисел
Нужно прочитать из стандартного потока ввода список, содержащий целые числа, значения nil и другие...

Определены ли на множестве: N(натуральные числа), Z(целые числа), Q, 2Z(четные числа), 2Z+1(нечетные)
4 Определены ли на множестве: N(натуральные числа), Z(целые числа), Q, 2Z(четные числа),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru