Вывести только четные числа java

Ввод и вывод данных на консоль четных и нечетных чисел

Здравствуйте! Подскажите по коду, что можно переделать или добавить?

Задача:
Создать программу, которая будет сообщать,
является ли целое число, введённое пользователем,
чётным или нечётным. Если пользователь
введёт не целое число, то сообщать ему об ошибке.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Написать программу, которая предлагает пользователю ввести 10 чисел, вычисляет процент четных и нечетных чисел и выводит результат в консоль
Написать программу, которая предлагает пользователю ввести 10 чисел, вычисляет процент четных и.

Ввод массива и вывод из него на экран сначала чётных, а потом нечётных символов
Нужно ввести массив и вывести из него на экран сначала чётные символы,а потом нечётные заранее.

Ввод и вывод данных на консоль (fasm)
Нужно дополнить код ,что бы значение string и raz вводил с клавиатуры,а результат просто выводился.

Ввод и вывод строковых данных на консоль
Здравствуйте! Подскажите по коду, что можно переделать или добавить? Задание: public class.

Читайте также:  Как вывести среднее время

та вообще норм

можно еще каждое действие закрыть в метод, так вроде советуют делать

Источник

Печать Четных и нечетных чисел С использованием 2 потоков

Узнайте, как синхронизировать потоки для печати четных и нечетных чисел поочередно

Автор: baeldung
Дата записи

1. введение

В этом уроке мы рассмотрим, как мы можем печатать четные и нечетные числа с помощью двух потоков.

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

2. Потоки в Java

Потоки-это легкие процессы, которые могут выполняться одновременно. Одновременное выполнение нескольких потоков может быть хорошим с точки зрения производительности и загрузки процессора, так как мы можем работать над несколькими задачами одновременно через разные потоки, работающие параллельно.

Более подробную информацию о потоках в Java можно найти в этой статье .

В Java мы можем создать поток, либо расширив класс Thread , либо реализовав Выполняемый интерфейс . В обоих случаях мы переопределяем метод run и записываем в него реализацию потока.

Более подробную информацию о том, как использовать эти методы для создания потока, можно найти здесь .

3. Синхронизация потоков

В многопоточной среде возможно, что 2 или более потоков обращаются к одному и тому же ресурсу примерно в одно и то же время. Это может привести к летальному исходу и ошибочным результатам. Чтобы предотвратить это, нам нужно убедиться, что только один поток обращается к ресурсу в данный момент времени.

Мы можем достичь этого с помощью синхронизации потоков.

В Java мы можем пометить метод или блок как синхронизированный, что означает, что только один поток сможет ввести этот метод или блок в данный момент времени.

Более подробную информацию о синхронизации потоков в Java можно найти здесь .

4. Межпоточная связь

Взаимодействие между потоками позволяет синхронизированным потокам взаимодействовать друг с другом с помощью набора методов.

Используются методы wait , notify, и notifyAll, которые все унаследованы от класса Object .

Wait() заставляет текущий поток ждать неопределенно долго, пока какой-либо другой поток не вызовет notify() или notifyAll() на том же объекте. Мы можем вызвать notify() для пробуждения потоков, ожидающих доступа к монитору этого объекта.

Более подробную информацию о работе этих методов можно найти здесь .

5. Печать нечетных и четных чисел Поочередно

5.1. Использование wait() и notify()

Мы будем использовать обсуждаемые концепции синхронизации и межпотоковой связи для печати нечетных и четных чисел в порядке возрастания с использованием двух разных потоков.

На первом шаге мы реализуем интерфейс Runnable для определения логики обоих потоков . В методе run мы проверяем, является ли число четным или нечетным.

Если число четное, мы вызываем метод print Even класса Printer , в противном случае мы вызываем метод print Odd :

Мы определяем класс Printer следующим образом:

В основном методе мы используем определенный класс для создания двух потоков. Мы создаем объект класса Принтер и передаем его в качестве параметра конструктору Задача Четная Нечетная :

Первый поток будет нечетным потоком, поэтому мы передаем false в качестве значения параметра isEvenNumber . Для второго потока мы передаем true вместо этого. Мы устанавливаем значение MaxValue равным 10 для обоих потоков, чтобы печатались только числа от 1 до 10.

Затем мы запускаем оба потока, вызывая метод start () . Это вызовет метод run() обоих потоков, как определено выше, в котором мы проверяем, является ли число нечетным или четным, и печатаем их.

Когда нечетный поток начнет работать, значение переменной number будет равно 1. Поскольку он меньше MaxValue , а флаг isEvenNumber равен false, вызывается printOdd () . В методе мы проверяем, является ли флаг нечетным истинным, и пока он истинен, мы вызываем wait(). Так как нечетно изначально ложно, wait() не вызывается, и значение выводится.

Затем мы устанавливаем значение is Odd в true, чтобы нечетный поток переходил в состояние ожидания и вызывал notify () , чтобы разбудить поток событий. Затем четный поток просыпается и печатает четное число, так как флаг odd является ложным. Затем он вызывает notify () , чтобы разбудить нечетный поток.

Тот же процесс выполняется до тех пор, пока значение переменной number не станет больше MaxValue .

5.2. Использование семафоров

Семафор управляет доступом к общему ресурсу с помощью счетчика. Если счетчик больше нуля, то доступ разрешен . Если он равен нулю, то доступ запрещен.

Java предоставляет класс Semaphore в пакете java.util.concurrent , и мы можем использовать его для реализации описанного механизма. Более подробную информацию о семафорах можно найти здесь .

Мы создаем два потока, нечетный поток и четный поток. Нечетный поток будет печатать нечетные числа, начиная с 1, а четный поток будет печатать четные числа, начиная с 2.

Оба потока имеют объект класса Общий принтер . Класс Общий принтер будет иметь два семафора, кажутся нечетными и кажутся четными , которые будут иметь разрешения 1 и 0 для начала . Это гарантирует, что нечетное число будет напечатано первым.

У нас есть два метода print Четное число() и print Нечетное число(). Нечетный поток вызывает метод print Odd Num() , а четный поток вызывает метод print Even Num () .

Чтобы напечатать нечетное число, метод acquire() вызывается на seem Odd , и поскольку начальное разрешение равно 1, он успешно получает доступ, печатает нечетное число и вызывает release() on semEven.

Вызов release() увеличит разрешение на 1 для seven , и тогда четный поток сможет успешно получить доступ и напечатать четное число.

Это код для рабочего процесса, описанного выше:

6. Заключение

В этом уроке мы рассмотрели, как мы можем печатать нечетные и четные числа поочередно, используя два потока в Java. Мы рассмотрели два метода для достижения одинаковых результатов: использование wait() и notify() и использование семафора .

И, как всегда, полный рабочий код доступен на GitHub .

Источник

Чётные числа в массиве

Не могу разобраться, как в консоли вывести элементы массива: все чётные числа от 1 до 20. Помогите, пожалуйста.

3 ответа 3

как в консоли вывести элементы массива: все чётные числа от 1 до 20

Или у вас что-то не так либо с задачей, либо с входными данными.

Отвечаю с планшета по этому за синтаксис не ручаюсь

Если нужно вывести все четные числа массива в котором могут быть нечетные числа, можно использовать данный подход:

Если нужно вывести только числа, то и foreach’ем можно обойтись

Всё ещё ищете ответ? Посмотрите другие вопросы с метками java массивы или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.11.3.40639

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Четные и нечетные цифры в числе

Добрый день/вечер.
Не могу решить задачу, сломала голову(

Написать программу, которая позволяет ввести число. Программа должна проверить все цифры в числе, и если все они четные, то Вывести Yes, если есть хоть одна нечетная цифра — No.
есть условие использовать методы While и if

у меня получилось вот это, но моя программа выводит ответ для каждой цифры в отдельности, и я не знаю как обьединить цифры в число обратно и вывести единый ответ

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Четные и нечетные цифры в числе.
Дано некоторое целое число. Написать программу, которая определяет, каких цифр в нем больше четных.

Заменить четные цифры в числе на нечетные и наоборот.
Пользователь вводит 5 значное число .Необходимо составить обратно число заменив четные значения на.

Алгорифм Маркова , Заменить в десятичном числе все четные цифры на «1», а нечетные на «0»
Заменить в десятичном числе все четные цифры на «1», а нечетные на «0».

Найти в натуральном числе нечётные цифры и вывести 1 и последнюю цифры
Дано натуральное число, найти: 1. количество нечётных цифр 2. вывести первую и последнюю цифры.

Четные и нечетные цифры
Выдать все четные и нечетные цифры натурального числа n> 10000 слева направо и справа налево

Четные цифры в нечетные позициях
Здравствуйте! Как с помощью цикла определить, находятся ли четные цифры в нечетных позициях.

Удалить четные цифры в числе
В произвольном числе N, вводимом с клавиатуры, удалить все чётные цифры. Порядок цифр оставить.

Все цифры в числе чётные.
срочно нужна функция,которая выводит все числа на промежутке ,которые удовлетворяют условию :все.

Определить четные цифры в числе
Дано целое число N (> 0). Используя операции деления нацело и взятия остатка от деления определить.

Выделить из строки чётные и нечётные цифры
Введите строку с клавиатуры (максимальная длина строки — 80 символов (статический массив)).

Источник

Как написать код, который печатает четные и нечетные числа, используя цикл for-each в массиве в java

Я написал код, который должен печатать нечетные и четные числа из массива с использованием цикла for-each в Java, но, к сожалению, он показывает «Исключение в потоке» main «java.lang .

2 ответа

Я написал код, который должен печатать нечетные и четные числа из массива с использованием цикла for-each в Java, но, к сожалению, он показывает

«Исключение в потоке» main «java.lang.ArrayIndexOutOfBoundsException: 22».

Это потому, что вы используете элементы массива как сами индексы массива. Он не работает на 22, потому что это первое значение в массиве, превышающее размер массива.

У вас есть циклы на основе индекса

И у вас есть (среди прочего) улучшенный цикл for , который позволяет вам напрямую перебирать содержимое (например) массива без необходимости явно указывать индекс.

синтаксис цикла для каждого

array — массив или коллекция
item — каждый элемент массива / коллекции присваивается этой переменной dataType
тип данных — массива / коллекции, массива / коллекции

Это позволяет сделать код более лаконичным и менее подверженным ошибкам:

Этот цикл очень полезен, потому что часто требуется выполнить итерацию по всем элементам массива, не заботясь об индексе, кроме доступа к элементу в массиве.

Здесь «i» — это не индекс вашего массива, это именно элемент, поэтому вам не нужно получать значение таким способом

Достаточно просто так сослаться

Поэтому было бы лучше не использовать имя переменной «i» в таком контексте, но

Источник

Оцените статью