Программа на яве пример

Создать класс «Матрица». Класс должен иметь следующие переменные:

  1. двумерный массив вещественных чисел;
  2. количество строк и столбцов в матрице.

Класс должен иметь следующие методы:

  1. сложение с другой матрицей;
  2. умножение на число;
  3. вывод на печать;
  4. умножение матриц.

Решение на Patreon .

3. Читатели библиотеки

Определить класс Reader , хранящий такую информацию о пользователе библиотеки:

  1. ФИО,
  2. номер читательского билета,
  3. факультет,
  4. дата рождения,
  5. телефон.
  6. Методы takeBook() , returnBook() .
  7. Разработать программу, в которой создается массив объектов данного класса.
  8. Перегрузить методы takeBook() , returnBook() :
    — takeBook , который будет принимать количество взятых книг. Выводит на консоль сообщение «Петров В. В. взял 3 книги».
    — takeBook , который будет принимать переменное количество названий книг. Выводит на консоль сообщение «Петров В. В. взял книги: Приключения, Словарь, Энциклопедия».
    — takeBook , который будет принимать переменное количество объектов класса Book (создать новый класс, содержащий имя и автора книги). Выводит на консоль сообщение «Петров В. В. взял книги: Приключения, Словарь, Энциклопедия».
  9. Аналогичным образом перегрузить метод returnBook() . Выводит на консоль сообщение «Петров В. В. вернул книги: Приключения, Словарь, Энциклопедия». Или «Петров В. В. вернул 3 книги».

Крутая Java программа за 10 минут! Изучение JavaFx (Java GUI) на практике

Решение на Patreon .

4. Рекурсивный вывод чисел

Даны два целых числа A и В. Выведите все числа от A до B включительно, в порядке возрастания, если A < B, или в порядке убывания в противном случае. Использовать рекурсию.

Решение на Patreon .

5. Наследование Student, Aspirant

  1. Создайте пример наследования, реализуйте класс Student и класс Aspirant , аспирант отличается от студента наличием некой научной работы.
  2. Класс Student содержит переменные: String firstName , lastName , group . А также, double averageMark , содержащую среднюю оценку.
  3. Создать метод getScholarship() для класса Student , который возвращает сумму стипендии. Если средняя оценка студента равна 5, то сумма 2000 грн, иначе 1900. Переопределить этот метод в классе Aspirant . Если средняя оценка аспиранта равна 5, то сумма 2500 грн, иначе 2200.
  4. Создать массив типа Student , содержащий объекты класса Student и Aspirant . Вызвать метод getScholarship() для каждого элемента массива.

Смотрите решение задачи в видео 1 , видео 2 .

Решение на Patreon .

6. Автомобили

  1. Создать класс Car в пакете com.company.vehicles , Engine в пакете com.company.details и Driver в пакете com.company.professions .
  2. Класс Driver содержит поля — ФИО, стаж вождения.
  3. Класс Engine содержит поля — мощность, производитель.
  4. Класс Car содержит поля — марка автомобиля, класс автомобиля, вес, водитель типа Driver , мотор типа Engine . Методы start() , stop() , turnRight() , turnLeft() , которые выводят на печать: «Поехали», «Останавливаемся», «Поворот направо» или «Поворот налево». А также метод toString() , который выводит полную информацию об автомобиле, ее водителе и моторе.
  5. Создать производный от Car класс — Lorry (грузовик), характеризуемый также грузоподъемностью кузова.
  6. Создать производный от Car класс — SportCar , характеризуемый также предельной скоростью.
  7. Пусть класс Driver расширяет класс Person .

Иерархия классов фото

Java не для Вас, если …

Читайте также:
Как продать программу питания

Решение на Patreon .

7. Животные

  1. Создать класс Animal и расширяющие его абстрактные классы Dog , Cat , Bear .
  2. Класс Animal содержит переменную name и абстрактные методы makeNoise , eat , getDescription . Метод makeNoise , например, может выводить на консоль звуки животных. Метод eat выводит на консоль список того, чем питается данное животное. Метод getDescription возвращает описание животного.
  3. Dog , Cat , Bear переопределяют методы makeNoise , eat , getDescription .
  4. Создайте класс Ветеринар , в котором определите метод void treatAnimal(Animal animal) . Пусть этот метод распечатывает name и описание пришедшего на прием животного.
  5. В методе main создайте массив типа Animal , в который запишите животных всех имеющихся у вас типов. В цикле отправляйте их на прием к ветеринару. В отдельном цикле вызовите методы makeNoise , eat для каждого животного.

Решение на Patreon .

8. Уровни доступа

  1. Заполнить табличку:
private default protected public
1. Один и тот же класс
2. Подкласс, находящийся в том же пакете, что и супер класс
3. Класс из того же самого пакета, не являющийся подклассом.
4. Подкласс, находящийся в другом пакете.
5. Класс из другого пакета, не являющийся подклассом данного.

Решение на Patreon .

9. Фигуры

  1. Создайте супер класс Shape и его наследников Circle , Rectangle .
  2. Класс Shape содержит абстрактный метод draw() и переменную хранящую цвет.
  3. Классы Circle , Rectangle содержат координаты точек.
  4. Создать массив содержащий эти фигуры.
  5. В цикле нарисовать их (вызвать метод draw ).

Решение на Patreon .

10. Интернет магазин, часть 1

  1. Создать класс Товар , имеющий переменные имя , цена , рейтинг .
  2. Создать класс Категория , имеющий переменные имя и массив товаров . Создать несколько объектов класса Категория .
  3. Создать класс Basket , содержащий массив купленных товаров.
  4. Создать класс User , содержащий логин, пароль и объект класса Basket . Создать несколько объектов класса User .
  5. Вывести на консоль каталог продуктов.
  6. Вывести на консоль покупки посетителей магазина.

Решение на Patreon .

  • Процедурное и объектно-ориентированное программирование
  • Принципы ООП
  • Классы и объекты
  • Конструктор
  • Ключевое слово this
  • Перегрузка
  • Стек и куча
  • Передача объектов в методы
  • Java varargs
  • Рекурсия
  • Сборщик мусора и метод finalize
  • Наследование
  • Ключевое слово super
  • Модификаторы доступа
  • Геттеры и сеттеры
  • Переопределение методов
  • Абстрактные классы и методы
  • Ключевое слово final

Источник: www.examclouds.com

Изучаем цикл for java

Повторяющееся исполнение набора инструкций называется циклом. Циклы в Java делятся на три типа:

  1. While ;
  2. For ;
  3. Do While
  • Выше перечислено три разных типа циклов, которые используются с одинаковой целью, и отличаются только синтаксисом;
  • Из-за синтаксических различий может отличаться и их образ действия. Вскоре мы рассмотрим эти различия.

Java-цикл For и его различные типы

For – самый популярный цикл из трёх доступных. Всё, что можно делать при помощи цикла while Java , легко делается и с помощью цикла for .

Существует два типа цикла for :

  1. Обычный цикл for ;
  2. Вложенный for .

Обычный цикл for

for(initialization; condition; incr/decr)

  • Когда элемент управления натыкается на цикл for , он сначала выполняет инициализацию. Эта часть выполняется один раз;
  • Затем контроллер переходит к разделу с условиями. Если оценка условий выдает результат true , то контроллер переходит к телу цикла.

Если оценка даёт результат false , то элемент управления выходит из for и выполняет условие, следующее после цикла.

Когда условие даёт значение true , выполняется тело цикла. Затем контроллер переходит к разделу incr/decr . Здесь указываются переменные инкремента или декремента.

Читайте также:
Программа которая узнает музыку по звуку Андроид

После выполнения раздела incr/decr , контроллер переходит к разделу условий. Если результат будет true , то выполняется тело цикла. Затем переход к разделу incr/decr , а потом к разделу условий. Этот процесс будет повторяться до тех пор, пока оценка условий будет равно true .

Как написать цикл на Java

for(int a=1; a

В приведённом выше примере переменная инициализируется значением 1 .

Это действие происходит всего один раз. После чего контроллер переходит к условию a :

class example < public static void main(String arg[]) < int i; for(i=1;i<=3;i++) < System.out.print(«hello world»); >> >
hello world hello world hello world

В цикле в Java , когда мы создаём переменную при инициализации, она автоматически освобождается по окончании цикла. Такую переменную нельзя использовать за пределами цикла. Если это необходимо, то создайте новую переменную с таким же именем вне цикла.

for(int len=1;len

int x=len; — не валидна, так как len уже освободилась;
int len=p; — валидна, так как рассматривается в качестве новой переменной.

class ForLoopBasics4 < public static void main(String args[]) < for(int i=1;i<=5;i++) < System.out.println(i); >> >
1 2 3 4 5
class ForLoopBasics5 < public static void main(String args[]) < for(int i=1;i<=5;i++) < System.out.println(i); //1 2 3 4 5 >System.out.println(i);//error for unknown variable i >
error: cannot find symbol System.out.print(i); ^

В приведенной выше программе возникает ошибка, так как переменная i освобождается после выхода из цикла Java .

class ForLoopBasics6 < public static void main(String args[]) < int i; for( i=1;i<=5;i++) < System.out.println(i); //1 2 3 4 5 >System.out.println(i); //6 >
1 2 3 4 5 6

В программе, приведенной выше, ошибки не возникает, так как в ней используется переменная i , которая была объявлена за пределами цикла.

  1. В теле цикла в Java может быть любое количество инструкций;
  2. Все они должны быть заключены в фигурные скобки;
  3. Если в теле цикла есть только одна инструкция, то фигурные скобки необязательны.

for(double b=2.3; b
for(int c=’A’; c

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

По окончании инициализации этот раздел завершается точкой с запятой. В следующем примере вложенного цикла Java мы поместили в раздел инициализации три инструкции, разделенные запятыми: (a=10) , (b=20) и (c=30) .

for(a=10, b=20, c=30; a+b

class ForLoopBasics9 < public static void main(String args[]) < int a,b,c; for(a=10, b=20, c=33; a+b > >
true true true

  • Подобно разделу с инициализацией, в разделе incr/decr также может быть несколько инструкций, указанных через запятую.

for(a=1,b=5; a

class ForLoopBasics10 < public static void main(String args[]) < int a,b,c; for(a=1,b=5; aРезультат:

1

Но в разделе условий цикла в Java ничего не отделяется запятыми. Все предполагаемые условия должны комбинироваться при помощи операторов AND или OR и образовывать единое условие.

for (a=2; a for(int a=9; a

class ForLoopBasics11 < public static void main(String args[]) < int a,b,c,n=10; a=0; b=1; System.out.print(a+» «+b+» «); for(int i=2;i> >
0 1 1 2 3 5 8 13 21 34

Вложенные циклы

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

for(int a=11; a statementC; >

В данном примере контроллер доходит до раздела инициализации за пределами цикла.

Объяснение приведённого выше примера :

Значением a = 11 . Затем контроллер переходит к разделу условий. Если условие выдаёт значение true , контроллер переходит к телу цикла и выполняет statementA .

Затем контроллер переходит к разделу инициализации внутреннего цикла, а после этого – к разделу условий.

Читайте также:
Программа peid как пользоваться

Если условия выполняется, программа переходит к телу цикла и выполняет statementB . После этого контроллер переходит к разделу с увеличением значения во внутреннем цикле for , а после – к разделу условий внутреннего цикла. Вложенный цикл Java повторяется до тех пор, пока внутреннее условие выдаёт значение true .

class NestedForLoop < public static void main(String args[]) < int i,j; for(i=1;i<=3;i++) < System.out.println(i+»iteration»); for(j=1;j<=3;j++) < System.out.println(j); >> > >
iteration1 1 2 3 iteration2 1 2 3 iteration3 1 2 3

Внутрь другого цикла в Java for можно поместить любую конструкцию. Здесь нет ограничения по количеству конструкций.

Чтобы выйти из цикла for в середине тела, можно использовать оператор break . Он выведет контроллер из цикла, независимо от условий в объявлении цикла.

for(a=16; a

Если мы хотим перейти к следующей итерации цикла с середины тела ( пропустив оставшиеся инструкции текущей итерации ), можно использовать оператор continue .

for(a=17; a

Перед тем, как написать цикл на Java , нужно знать, что раздел условий должен выдавать результат в виде логического выражения. В разделе инициализации можно создавать переменные, что невозможно в разделе увеличения. Ниже представлен валидный код.

Иногда инициализация происходит в тот момент, когда контроллер доходит до цикла for . В таком случае в разделе инициализации можно написать пустую инструкцию ( пусть это будет просто точка с запятой) . Аналогичным образом можно пропустить раздел увеличения. Если использовать пустое условие ( просто a ), то результат будет расцениваться как true . То есть, все последующие применения будут валидными.

int a=1; for( ; a
for(int a=1; a
for(int a=1; ; a++) < if(a>3) break; statementA; >

Если мы запишем цикл for как for(;;) , и в нём не будет break или return , то это бесконечный цикл Java . Приведенные ниже циклы являются бесконечными.

Пример 1: for( ; ; )
Пример 2: for(init; true; incr)

Цикл for в стиле foreach

for(variable : collection)

Этот тип циклов используется для перехода по набору элементов в строгом порядке ( от начала к концу ). Набором элементов может быть массив, ArrayList , LinkedList или любая другая коллекция.

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

int a[]=; for(int i=0; i

В этом примере цикл повторяется четыре раза ( количество элементов в массиве ), и каждый раз выводится очередной элемент i ( от 0 до 3 ).

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

int a[]=; for(int x : a) System.out.println(x);

В данном случае переменная x получает каждое значение из массива ( по одному значению на итерацию ), а затем выводится. Этот подход ( foreach ) подходит для обслуживания всех элементов в списке. Если нам нужны отдельные фрагменты списка, то можно использовать обычный цикл в Java .

ArrayList al=new ArrayList(); al.add(10); al.add(20); al.add(30); al.add(40); for(int x : al)

Пузырьковая сортировка. Пример программы на Java

Пузырьковая сортировка. Пример программы на Java

В этой статье мы рассмотрим пример программы сортировки массива или списка элементов с помощью алгоритма пузырьковой сортировки.

Пузырьковая сортировка. Теория

Алгоритм пузырьковой сортировки является одним из самых простых в реализации и самых медленных по времени выполнения. Его суть сводится к поочередному сравниванию соседних элементов массива.

Поочередное сравнивание соседних элементов массива

Пример реализации пузырьковой сортировки на Java

Ниже представлена небольшая программа на Java, демонстрирующая «всю мощь» пузырьковой сортировки.

Источник: javadevblog.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru