новая папка / Java lab#1
1. Цель работы: изучить основы синтаксиса Java с помощью нескольких задач программирования. Узнаете, как использовать компилятор Java и виртуальную машину Java для запуска программы.
2.1 Создать программу, которая находит и выводит все простые числа меньше 100.
Создать файл с именем Primes.java
Описать функцию IsPrime (Int n)
Заполнить основного метода main()
Вывести на печать простые числа
2.2 Создать программу, определяющую, является ли строка палиндромом.
Создать файл с именем Palindrome.java
Создать метод reverseString(Strings), позволяющий полностью изменить символы в строке
Создать метод isPalindrome(String s), переворачивающий изначальное слово и проверяющий, равен ли результат поступившему на вход слову
Вывести ответ, является ли каждое слово строки палиндром
3. Ход выполнения лабораторной работы
3.1. Создание программы, которая находит и выводит все простые числа меньше 100.
Создание файла и класса Primes
Создаю файл Primes.java в папке для работы над лабораторной работой и добавляю в нее метод main, в котором будет находиться основной код программы. Это представлено на рисунке 1.

Рисунок 1 – Создание файла и класса Primes
Описание функции IsPrime (Int n)
Создаю метод IsPrime, проверяющий, является ли число простым, путем деления на все числа до выходящего числа. Код метода представлен на рисунке 2.

Рисунок 2 – Код метода IsPrime
Заполнение основного метода main()
Заполняю метод main циклом перебора всех чисел от 0 до 100. Код метода представлен на рисунке 3.

Рисунок 3 – Код метода IsPrime
Вывод простых чисел на печать
Компилирую и тестирую программу. Результат работы показан на рисунке 4. Программа работает верно.

Рисунок 4 – Результат работы программы
3.2. Создание программы, определяющей, является ли строка палиндромом.
Создание файла с именем Palindrome.java и класса Palindrome внутри него
Создаю файл Palindrome.java в папке для работы над лабораторной работой и добавляю в нее метод main, в котором будет находится основной код программы. Это представлено на рисунке 5.

Рисунок 5 – Создание файла и класса Palindrome
Создание метода reverseString(Strings)
Создаю метод reverseString(Strings), позволяющий посимвольно отзеркалить символы слова. Код метода представлен на рисунке 6.

Рисунок 6 – Код метода reverseString
Создание метода isPalindrome(String s)
Создаю метод isPalindrome (Strings), переворачивающего изначальное слово с помощью созданного ранее метода reverseString и проверяющего, равен ли результат поступившему на вход слову. Код метода представлен на рисунке 7.

Рисунок 6 – Код метода isPalindrome
Вывод ответ, является ли каждое слово строки палиндром
В командной строке вписываю несколько слов, некоторые из которых являются палиндромами. Результат, показанный на рисунке 7, доказывает правильность работы программы.

Рисунок 6 – Результат работы программы
4. Ссылка на репозиторий гитхаба
Я изучила основы синтаксиса Java с помощью нескольких задач программирования, узнала, как использовать компилятор Java и виртуальную машину Java для запуска программы.
Список использованной литературы
Камаев В.А., Костерин В.В. Технологии программирования. М.: Высшая школа, 2006.
Помогите вывести простые числа в java
Помогите составить программу в JAVA которая принимает целое число, выводит на экран все простые числа от нуля до принятого числа. Используя только простые операции if и for Я составил, но что-то не помогает import java.util.Scanner;
Если используете java 8+ , лучше юзать в вашем случае IntStream для целых чисел:
Алгоритм проверки на то, что число является простым взял отсюда : https://en.wikipedia.org/wiki/Primality_test
Проблема не со сканером, а с алгоритмом. Во-первых, он не оптимален, во-вторых, содержит ошибку. Но, если вы хотите искать простые числа именно таким способом, исправьте свой метод таким образом
![]()
Программа проверяет, числа от 11 и до бесконечности, и выводит количество простых чисел на экран + все простые числа + время работы программы. При желании можно отключить массив и выводить только количество простых чисел, что ускорит время работы программы процентов на 30. Без проблем можно запилить еще один метод, для проверки и вывода чисел до 10 и при помощи if проверять n<=10 — — — выбирать корректный метод.
Программа простых чисел на Java

Простое число — это натуральное число больше 1, которое делится только на 1 и само на себя. Например, 2, 3, 5, 7, 11… являются простыми числами, потому что они не делятся и не являются результатом умножения. Программы по простым числам — один из наиболее часто задаваемых вопросов на интервью по Java для новичков. В этом посте я собрал некоторые важные программы для работы с простыми числами.
Начнем с первой программы.
- Программа для проверки, является ли заданное число простым или нет
- Программа для нахождения всех простых чисел между двумя заданными числами
- Программа для проверки, является ли заданное число простым или нет, используя рекурсию
- Программа для проверки, является ли число простым или не использует переменную флага
- Программа для печати простых чисел от 1 до 100
Программа для проверки, является ли заданное число простым или нет?
В этой Java-программе я возьму числовую переменную и проверю, является ли число простым или нет.
- Метод isPrime(int n) используется для проверки того, является ли переданный ему параметр простым числом или нет. Если переданный параметр является простым, то он возвращает True, в противном случае он возвращает False.
- Если число меньше 1, if(inputNumber‹= 1) возвращает false.
- Если число не меньше или равно 1, выполняется операция деления.
- Если остаток равен нулю, функция возвращает false, что означает, что это не простое число.
- Если это число, отличное от нуля, возвращается true, в результате чего получается простое число.
Примечание. 0 и 1 не являются простыми числами.
Вывод этой программы:


Давайте перейдем к следующей программе, чтобы проверить программу простых чисел в Java.
Программа для нахождения всех простых чисел между двумя заданными числами
Чтобы найти простое число между двумя натуральными числами,
- Проверьте, является ли число натуральным.
- Используйте метод IsPrime, чтобы проверить, является ли число простым.
- Укажите начальный номер, а также конечный номер.
- Цикл for для печати простого числа.
- Вы можете сделать это для ряда чисел, просто указав диапазон (начало и конец).

Давайте перейдем к нашей следующей программе для проверки программы простых чисел в Java.
Программа для проверки, является ли число простым или нет, используя рекурсию
- В этом случае давайте воспользуемся рекурсией для вывода простых чисел.
- Класс Scanner — это класс, который присутствует внутри пакета java. util, который позволяет пользователю читать значения различных типов.
- Сначала проверьте, является ли число натуральным, используя условие if, если (n ‹= 1), верните false и выведите, что число не является простым числом.
- Проверьте другое условие, то есть деление, проверьте, равен ли остаток 0 или нет. Если в остатке 0, то это не простое число.

Программа для проверки, является ли число простым или не использует переменную флага
- Эта программа помогает печатать простые числа, используя переменную флага.
- Переменная флага используется в качестве сигнала в программировании, чтобы сообщить пользователю/программе, что определенное условие выполнено.
- Создайте статический метод проверки простого числа (int n) и добавьте условия, проверяющие, является ли число простым числом или нет.
- Вызовите эту функцию в основном классе, просто передав параметр (целое число).
- Выведите простое число.
Давайте посмотрим на последний вопрос о программе простых чисел в Java.
Программа для отображения простых чисел от 1 до 100
- В этом случае используйте счетчик, который часто требуется для определения частоты чего-либо из базы данных или текстового файла.
- Объявите пустую строку, Строка простых чисел = «»;
- Непосредственно укажите фактическое число, используя цикл for. for(num =i; num›=1; num-) и проверьте наличие простых чисел в этом диапазоне.
- Если данное число делится на введенное число, оно увеличивает значение счетчика.|
- Если значение счетчика равно 2, добавьте простые числа в виде строки.

Это подводит нас к концу этой статьи, где мы узнали часто задаваемые вопросы о программе простых чисел в Java. Надеюсь, вы поняли все, о чем вам рассказали в этом уроке.
Убедитесь, что вы практикуетесь как можно больше и возвращаете свой опыт.
На этом мы подошли к концу нашего блога Advanced Java Tutorial. Я надеюсь, что вы нашли этот блог информативным и полезным для ваших знаний.
Если вы хотите прочитать больше статей о самых популярных технологиях на рынке, таких как искусственный интеллект, DevOps, этический взлом, вы можете обратиться к официальному сайту Edureka. .»
Обратите внимание на другие статьи из этой серии, в которых объясняются различные другие аспекты Java.
Алгоритм поиска простых чисел
Простое число – это число, которое делится нацело без остатка только на 1 и на самого себя. Также известно, что любое целое число, большее 1, является либо простым, либо может быть выражено как произведение простых чисел. Ряд простых чисел начинается с 2 и имеет следующий вид: 2, 3, 5, 7 и т.д.
Рассмотрим алгоритм поиска простых чисел, известный как «метод перебора делителей». Для этого давайте реализуем на Java метод getFirstPrimes(), который будет возвращать N первых простых чисел.
Все найденные простые числа будем складывать в список. Далее проверяем, что если у нас запросили хотя бы одно простое число, то сразу добавим 2, т.к. с него начинается последовательность. Далее в цикле начинаем проверять числа, сразу начиная с трёх. Также обратите внимание, что мы проверяем только нечётные числа (приращение +2), т.к. все чётные числа по определению делятся на 2.
Цикл выполняется до тех пор, пока в нашем результирующем списке не окажется ровно столько простых чисел, сколько у нас запросили. Саму проверку на «простоту» выполняем с помощью метода isPrime(), которому передаём текущее проверяемое число и уже накопленные нами на предыдущих итерациях числа.
Здесь мы сначала вызываем метод Math.sqrt(), ведь если проверяемое число состоит хотя бы из двух множителей, то ни одно из них не может превышать двоичный корень.
Затем в цикле проходим по всем уже найденным простым числам и по очереди пытаемся делить на них текущее число. Если число делится на простое число без остатка – значит, оно составное. Проверку выполняем до тех пор, пока простые числа меньше корня из проверяемого числа.
Можно выполнить небольшую оптимизацию, отказавшись от вычисления квадратного корня и операций над типом double. Вместо этого будем возводить каждое уже найденное простое число в квадрат и проверять, не превысило ли это произведение потенциально простое число. Если превысило, значит, перед нами новое простое число:
Рассмотренный алгоритм работает довольно быстро. За пару секунд он находит 500 000 простых чисел.
Оптимизации, которые мы применили:
- проверяем только нечётные числа
- пытаемся делить только на уже найденные простые числа
- делителями могут быть только те простые числа, которые не превосходят квадратного корня из проверяемого числа
- вместо вычисления квадратного корня возводим в квадрат каждое уже найденное простое число, пока произведение не превысит проверяемое число
Данный алгоритм хорошо подходит в том случае, если вам нужно ровно N первых простых чисел. Если же вы ищете все простые числа в некотором диапазоне, то лучше использовать Решето Эратосфена для поиска простых чисел – он будет работать гораздо быстрее.