Файл: Практическое задание 3 Объектноориентированное программирование в Java.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.11.2023
Просмотров: 177
Скачиваний: 11
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Практическое задание 3Объектно-ориентированное программирование в JavaЦель работы: сформировать навыки работы с основными конструкциями ООПязыка Java. Освоить принципы применения базовых объектных технологийjava.Задание. Напишите программу на языке Java, в которой продемонстрируйтеработу основных принципов ООП.1. Разработайте класс для решения квадратных уравнений. Вычислениедискриминанта должен осуществлять вложенный класс. Послекомпиляции объясните структуру class файлов.import java.util.Scanner;public class Main{public static void main(String[] args) {double a, b, c;double D;System.out.println("Программа решает квадратное уравнение вида ax^2 + bx + c = 0");System.out.println("Введите a, b и c:");Scanner in = new Scanner(System.in);a = in.nextDouble();b = in.nextDouble();c = in.nextDouble();D = b * b - 4 * a * c;if (D > 0) {double x1, x2;x1 = (-b - Math.sqrt(D)) / (2 * a);x2 = (-b + Math.sqrt(D)) / (2 * a);System.out.println("Корни уравнения: x1 = " + x1 + ", x2 = " + x2);}else if (D == 0) {double x;x = -b / (2 * a);System.out.println("Уравнение имеет единственный корень: x = " + x);}else {System.out.println("Уравнение не имеет действительных корней!");}D = b * b - 4 * a * c;if (D > 0) {double x1, x2;x1 = (-b - Math.sqrt(D)) / (2 * a);x2 = (-b + Math.sqrt(D)) / (2 * a);System.out.println("Корни уравнения: x1 = " + x1 + ", x2 = " + x2);}else if (D == 0) {double x;x = -b / (2 * a);System.out.println("Уравнение имеет единственный корень: x = " + x);}else {System.out.println("Уравнение не имеет действительных корней");}}}(Код программы)(Первый результат программы)(Второй результат программы)2. Реализуйте игру в кости. Играют N игроков (компьютер в спискепоследний). Подкидываются одновременно К кубиков. Выигрывает тот,у кого большая сумма очков. Кто выиграл, тот и кидает первым вследующем кону. Игра идет до 7 выигрышей. Начинаете игру вы.package com.company;import java.util.*;public class Main{public static void main(String[] args) {Random r=new Random();int diff;int player;int vin_player=0;int vin_diff =0;while(vin_diff <= 7 || vin_player <=7) {player = r.nextInt(6) + 1;diff = r.nextInt(6) + 1;System.out.println("Ты бросаешь кубик: " + player);System.out.println("Оппонент бросает кубик: " + diff);if (player == diff) {++vin_player;++vin_diff;System.out.println("Ничья");}if (player > diff) {++vin_player;System.out.println("Ты выиграл");System.out.println("Ваше количество побед " + vin_player + "\n");
}if (player < diff) {++vin_diff;System.out.println("Выиграл оппонент");System.out.println("Количество побед оппонент: " + diff + "\n");}}}}(Код программы)(Результат программы)3. Класс Phone.a) Создайте класс Phone, который содержитпеременные number, model и weight.б) Создайте три экземпляра этого класса.в) Выведите на консоль значения их переменных.г) Добавить в класс Phone методы: receiveCall, имеет один параметр –имя звонящего. Выводит на консоль сообщение “Звонит{name}”. getNumber – возвращает номер телефона. Вызвать эти методыдля каждого из объектов.д) Добавить конструктор в класс Phone, который принимает на вход трипараметра для инициализации переменных класса- number, model и weight.е) Добавить конструктор, который принимает на вход два параметрадля инициализации переменных класса - number, model.ж) Добавить конструктор без параметров.з) Вызвать из конструктора с тремя параметрами конструктор с двумя.и) Добавьте перегруженный метод receiveCall, который принимает двапараметра - имя звонящего и номер телефона звонящего. Вызвать этотметод.к) Создать метод sendMessageс аргументами переменной длины.Данный метод принимает на вход номера телефонов, которым будетотправлено сообщение. Метод выводит на консоль номера этихтелефонов.public class Main {int number;int model;double weight;String name = "Mikhail";public Main (int number, int model, double weight) { //конструкторthis.number = number;this.model = model;this.weight = weight;}public Main() { //конструктор по умолчанию}public void receiveCall() { //методSystem.out.println("Звонит "+name);}public void getNumber() { //методSystem.out.println(number);}public static void main(String[] args) {Main Samsung = new Main(); //объектSamsung.number = 792777555;Samsung.model = 1;Samsung.weight = 162;Main iPhone = new Main(); //объектiPhone.number = 792777777;iPhone.model = 2;iPhone.weight = 112;Main Honor = new Main(); //объектHonor.number = 792777555;Honor.model = 3;Honor.weight = 183;Samsung.receiveCall();iPhone.receiveCall();Honor.receiveCall();Samsung.getNumber();
iPhone.getNumber();Honor.getNumber();System.out.println("Samsung: number="+ Samsung.number+" model="+Samsung.model+" weight="+Samsung.weight);System.out.println("iPhone: number="+ iPhone.number+" model="+iPhone.model+" weight="+iPhone.weight);System.out.println("Honor: number="+ Honor.number+" model="+Honor.model+" weight="+Honor.weight);}}(Код программы)(Результат программы)4. Создать класс Person, который содержит:a) поля fullName, age.б) методы move() и talk(), в которых просто вывести на консольсообщение -"Такой-то Person говорит".в) Добавьте два конструктора - Person() и Person(fullName, age).Создайте два объекта этого класса. Один объект инициализируетсяконструктором Person(), другой - Person(fullName, age).package com.uits.task8;public class MainPerson {public static void main( String[] args ) {Person person1 = new Person();Person person2 = new Person(18,"Anna");person1.PersonMove();person1.PersonMove();person2.PersonTalk();person2.PersonTalk();}}(Код программы)
}if (player < diff) {++vin_diff;System.out.println("Выиграл оппонент");System.out.println("Количество побед оппонент: " + diff + "\n");}}}}(Код программы)(Результат программы)3. Класс Phone.a) Создайте класс Phone, который содержитпеременные number, model и weight.б) Создайте три экземпляра этого класса.в) Выведите на консоль значения их переменных.г) Добавить в класс Phone методы: receiveCall, имеет один параметр –имя звонящего. Выводит на консоль сообщение “Звонит{name}”. getNumber – возвращает номер телефона. Вызвать эти методыдля каждого из объектов.д) Добавить конструктор в класс Phone, который принимает на вход трипараметра для инициализации переменных класса- number, model и weight.е) Добавить конструктор, который принимает на вход два параметрадля инициализации переменных класса - number, model.ж) Добавить конструктор без параметров.з) Вызвать из конструктора с тремя параметрами конструктор с двумя.и) Добавьте перегруженный метод receiveCall, который принимает двапараметра - имя звонящего и номер телефона звонящего. Вызвать этотметод.к) Создать метод sendMessageс аргументами переменной длины.Данный метод принимает на вход номера телефонов, которым будетотправлено сообщение. Метод выводит на консоль номера этихтелефонов.public class Main {int number;int model;double weight;String name = "Mikhail";public Main (int number, int model, double weight) { //конструкторthis.number = number;this.model = model;this.weight = weight;}public Main() { //конструктор по умолчанию}public void receiveCall() { //методSystem.out.println("Звонит "+name);}public void getNumber() { //методSystem.out.println(number);}public static void main(String[] args) {Main Samsung = new Main(); //объектSamsung.number = 792777555;Samsung.model = 1;Samsung.weight = 162;Main iPhone = new Main(); //объектiPhone.number = 792777777;iPhone.model = 2;iPhone.weight = 112;Main Honor = new Main(); //объектHonor.number = 792777555;Honor.model = 3;Honor.weight = 183;Samsung.receiveCall();iPhone.receiveCall();Honor.receiveCall();Samsung.getNumber();
iPhone.getNumber();Honor.getNumber();System.out.println("Samsung: number="+ Samsung.number+" model="+Samsung.model+" weight="+Samsung.weight);System.out.println("iPhone: number="+ iPhone.number+" model="+iPhone.model+" weight="+iPhone.weight);System.out.println("Honor: number="+ Honor.number+" model="+Honor.model+" weight="+Honor.weight);}}(Код программы)(Результат программы)4. Создать класс Person, который содержит:a) поля fullName, age.б) методы move() и talk(), в которых просто вывести на консольсообщение -"Такой-то Person говорит".в) Добавьте два конструктора - Person() и Person(fullName, age).Создайте два объекта этого класса. Один объект инициализируетсяконструктором Person(), другой - Person(fullName, age).package com.uits.task8;public class MainPerson {public static void main( String[] args ) {Person person1 = new Person();Person person2 = new Person(18,"Anna");person1.PersonMove();person1.PersonMove();person2.PersonTalk();person2.PersonTalk();}}(Код программы)