Download java report lw2 1 docx

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение
высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА № 43
ОТЧЁТ
ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
Асс.
С. Ю. Гуков
должность, уч. степень, звание
подпись, дата
инициалы, фамилия
ОТЧЁТ О ЛАБОРАТОРНОЙ РАБОТЕ №2
Классы и методы
по дисциплине: ВВЕДЕНИЕ В РАЗРАБОТКУ КОРПОРАТИВНЫХ
ПРИЛОЖЕНИЙ НА Java
РАБОТУ ВЫПОЛНИЛА
СТУДЕНТКА ГР.
4931
23.10.2022
Е.А. Екименко
подпись, дата
инициалы, фамилия
Санкт-Петербург 2022
Цель работы: Научиться писать программы с использованием классов и методов.
Задание: Создать классы, спецификации которых приведены ниже. Определить
конструкторы и методы setТип(), getТип(), toString(). Определить дополнительно методы в
классе, создающем массив объектов. Задать критерий выбора данных и вывести эти данные
на консоль. В каждом классе, обладающем информацией, должно быть объявлено несколько
конструкторов.
Листинг программы 1 (Patient):
import java.util.Objects;
public class Patient {
private Long id;
private String surname;
private String name;
private String patronymic;
private String address;
private String phoneNumber;
private Long medicalCardNumber;
private String Diagnosis;
public Patient(Long id, String surname, String name, String
patronymic, String address, String phoneNumber, Long medicalCardNumber,
String diagnosis) {
this.id = id;
this.surname = surname;
this.name = name;
this.patronymic = patronymic;
this.address = address;
this.phoneNumber = phoneNumber;
this.medicalCardNumber = medicalCardNumber;
Diagnosis = diagnosis;
}
public Patient() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public Long getMedicalCardNumber() {
return medicalCardNumber;
}
public void setMedicalCardNumber(Long medicalCardNumber) {
this.medicalCardNumber = medicalCardNumber;
}
public String getDiagnosis() {
return Diagnosis;
}
public void setDiagnosis(String diagnosis) {
Diagnosis = diagnosis;
}
public String getPatronymic() {
return patronymic;
}
public void setPatronymic(String patronymic) {
this.patronymic = patronymic;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Patient patient = (Patient) o;
return Objects.equals(id, patient.id) && Objects.equals(surname,
patient.surname) && Objects.equals(name, patient.name) &&
Objects.equals(patronymic, patient.patronymic) && Objects.equals(address,
patient.address) && Objects.equals(phoneNumber, patient.phoneNumber) &&
Objects.equals(medicalCardNumber, patient.medicalCardNumber) &&
Objects.equals(Diagnosis, patient.Diagnosis);
}
@Override
public int hashCode() {
return Objects.hash(id, surname, name, patronymic, address,
phoneNumber, medicalCardNumber, Diagnosis);
}
@Override
public String toString() {
return "Patient{" +
"id=" + id +
", surname='" + surname + '\'' +
", name='" + name + '\'' +
", patronymic='" + patronymic + '\'' +
", address='" + address + '\'' +
", phoneNumber='" + phoneNumber + '\'' +
", medicalCardNumber=" + medicalCardNumber +
", Diagnosis='" + Diagnosis + '\'' +
'}';
}
}
import java.util.*;
public class Client {
public static void main(String[] args) {
run();
}
public static void run() {
Patient patient1 = new Patient(10L, "surname1", "name1",
"patronymic1", "address1", "123456789", 225588L, "diag1");
Patient patient2 = new Patient(11L, "surname2", "name2",
"patronymic2", "address2", "223453789", 425588L, "diag2");
Patient patient3 = new Patient(12L, "surname3", "name3",
"patronymic3", "address3", "323256789", 925588L, "diag3");
List<Patient> listOfPatients = new ArrayList<>();
listOfPatients.add(patient1);
listOfPatients.add(patient2);
listOfPatients.add(patient3);
listOfPatients.add(new Patient());
System.out.println("Please enter the Diagnosis");
Scanner in = new Scanner(System.in);
String diagnosis = in.next();
System.out.println("Please enter the medicalCardNumber");
System.out.println("from: ");
Long medicalCardNumberFrom = in.nextLong();
System.out.println("to: ");
Long medicalCardNumberTo = in.nextLong();
getPatientsByDiagnosis(listOfPatients, diagnosis);
getPatientsByMedicalCardInterval(listOfPatients,
medicalCardNumberFrom, medicalCardNumberTo);
}
public static void getPatientsByDiagnosis(List<Patient> list, String
diag) {
System.out.println("list of patients with this diagnosis: ");
list.stream()
.filter(m -> m.getDiagnosis() != null)
.filter(m -> m.getDiagnosis().equals(diag))
.forEach(System.out::println);
}
public static void getPatientsByMedicalCardInterval(List<Patient>
list, Long medicalCardNumberFrom, Long medicalCardNumberTo) {
System.out.println("list of patients whose medical card number is
in the specified interval: ");
list.stream()
.filter(m -> m.getMedicalCardNumber() != null)
.filter(m -> m.getMedicalCardNumber() <=
medicalCardNumberTo && m.getMedicalCardNumber() >= medicalCardNumberFrom)
.forEach(System.out::println);
}
}
Результат работы программы (Patient):
Листинг программы 2 (Product):
import java.util.Date;
import java.util.Objects;
public class Product {
private Long id;
private String name;
private Long upc;
private String maker;
private Double price;
private Date shelfLife;
public Product(Long id, String name, Long upc, String maker, Double
price, Date shelfLife) {
this.id = id;
this.name = name;
this.upc = upc;
this.maker = maker;
this.price = price;
this.shelfLife = shelfLife;
}
public Product() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getUpc() {
return upc;
}
public void setUpc(Long upc) {
this.upc = upc;
}
public String getMaker() {
return maker;
}
public void setMaker(String maker) {
this.maker = maker;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
public Date getShelfLife() {
return shelfLife;
}
public void setShelfLife(Date shelfLife) {
this.shelfLife = shelfLife;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Product product = (Product) o;
return id.equals(product.id) && Objects.equals(name,
product.name) && Objects.equals(upc, product.upc) &&
Objects.equals(maker, product.maker) && Objects.equals(price,
product.price) && Objects.equals(shelfLife, product.shelfLife);
}
@Override
public int hashCode() {
return Objects.hash(id, name, upc, maker, price, shelfLife);
}
@Override
public String toString() {
return "Product{" +
"id=" + id +
", name='" + name + '\'' +
", upc=" + upc +
", Maker='" + maker + '\'' +
", price=" + price +
", shelfLife=" + shelfLife +
'}';
}
}
import java.util.*;
public class Client {
public static void main(String[] args) {
run();
}
public static void run() {
Product product1 = new Product(10L, "Milk", 123456789L, "Eco
Company", 20.4, new Date(2022, Calendar.DECEMBER, 10));
Product product2 = new Product(11L, "Bread", 123426389L, "Eco
Company", 8.5, new Date(2022, Calendar.NOVEMBER, 1));
Product product3 = new Product(13L, "Tea", 122456784L, "Test
Company", 5.7, new Date(2023, Calendar.JANUARY, 22));
List<Product> listOfProduct = new ArrayList<>();
listOfProduct.add(product1);
listOfProduct.add(product2);
listOfProduct.add(product3);
listOfProduct.add(new Product());
System.out.println("Please enter the product name");
Scanner in = new Scanner(System.in);
String name = in.next();
System.out.println("Please enter the price");
Double price = in.nextDouble();
System.out.println("Please enter the day of shelfLife");
int day = in.nextInt();
System.out.println("Please enter the month of shelfLife");
int month = in.nextInt();
System.out.println("Please enter the year of shelfLife");
int year = in.nextInt();
Date shelfLife = new Date(year, month, day);
getProductByName(listOfProduct, name);
getProductByNameAndPriceWhichDoesntExceeded(listOfProduct, name,
price);
getProductWhoseShelfLifeIsLonger(listOfProduct, shelfLife);
}
public static void getProductByName(List<Product> list, String name)
{
System.out.println("list of products for a given name: ");
list.stream().filter(m -> m.getName() != null).filter(m ->
m.getName().equals(name)).forEach(System.out::println);
}
public static void
getProductByNameAndPriceWhichDoesntExceeded(List<Product> list, String
name, Double price) {
System.out.println("a list of products for a given name, the
price of which does not exceed the specified: ");
list.stream().filter(m -> m.getName() != null).filter(m ->
m.getName().equals(name) && m.getPrice() <=
price).forEach(System.out::println);
}
public static void getProductWhoseShelfLifeIsLonger(List<Product>
list, Date shelfLife) {
System.out.println("a list of products whose shelf life is longer
than the specified one: ");
list.stream().filter(m -> m.getShelfLife() != null).filter(m ->
m.getShelfLife().compareTo(shelfLife) > 0).forEach(System.out::println);
}
}
Результат работы программы 2 (Product):
Related documents