Witam
Jestem studentem informatyki i ostatnio zacząłem naukę programowania w języku Java.Ostatnio na zajęciach otrzymałem zadanie o następującej treści: Stwórz klasę o nazwie Samochod reprezentującą dane pojazdu zawierającą następujące pola:
marka,
model,
pojemnosc,
typ,
silnik,
rok produkcji,
data 1 rejestracji,
cena.
Klasa powinna zawierać osobne metody służące do ustawiania i zwracania wartości poszczególnych pól obiektów.
Dodatkowo metodę, która sprawdzi, czy samochód posiada jeszcze gwarancję (wiek pojazdu do 2 lat licząc od daty rejestracji) i zwróci informację w formie komunikatu tekstowego.. Dodaj klasę AutoKomis, w której stworzone będą nowe obiekty klasy Samochod, przechowujące dane o pojazdach. (10 sztuk). Napisałem taki kod programu :
package zadania_lab5;
import java.util.Date;
import java.time.Duration;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Samochód {
//deklaracja zmiennych.
private String theCarBrand;
String model;
double capacity;
String type;
int engine;
double yerOfProduction;
String dateOfFirstRegistration;
double price;
//Stworzenie konstruktora.
public Samochód(String theCarBrand, String model, double capacity, String type, int engine, double yerOfProduction, String dateOfFirstRegistration, double price) {
this.theCarBrand = theCarBrand;
this.model = model;
this.capacity = capacity;
this.type = type;
this.engine = engine;
this.yerOfProduction = yerOfProduction;
this.dateOfFirstRegistration =dateOfFirstRegistration;
this.price = price;
}
// metody zwracające i ustawiające wartości.
public void settheCarBrand(String t) {
theCarBrand = t;
}
public String gettheCarBrand() {
return theCarBrand;
}
public void setmodel(String m) {
model = m;
}
public String getmodel() {
return model;
}
public void setcapacity(double c) {
capacity = c;
}
public double getcapacity() {
return capacity;
}
public void settype( String ty) {
type = ty;
}
public String gettype() {
return type;
}
public void setengine(int e) {
engine = e;
}
public int getengine() {
return engine;
}
public void setyerOfProduction(double y) {
yerOfProduction = y;
}
public double getyerOfProduction() {
return yerOfProduction;
}
public void setdateOfFirstRegistration(String d) {
dateOfFirstRegistration = d;
}
public String getdateOfFirstRegistration() {
return dateOfFirstRegistration;
}
public void price(double p) {
price =p;
}
public double getprice() {
return price;
}
// Metoda sprawdzająca czy Auto ma gwarancje;
public void czy_ma_gwarancje(String d)
{
LocalDate now = LocalDate.now();
LocalDate reg = LocalDate.parse(d, DateTimeFormatter.ISO_LOCAL_DATE);
Duration diff = Duration.between(reg.atStartOfDay(), now.atStartOfDay());
long minione_dni = diff.toDays();
if(minione_dni<=730)
{
System.out.println("Posiada gwarancję.");
}
else System.out.println("Nie posiada gwarancji.");
}
}
package zadania_lab5;
import java.util.ArrayList;
public class AutoKomis {
public static void main(String[] args) {
// tworzę tablicę obiektów klasy Samochód.
ArrayList<Samochód> listCars = new ArrayList<Samochód>();
// Dodaję obiekty do listy.
listCars.add(new Samochód (" Toyota " , " jaris " , 1000, "sedan", 65, 2000, " 2017.11.20 ", 3000 ));
listCars.add(new Samochód ("Mazda"," 3 ", 1560," kombi ", 105,2004," 2006.11.20 ", 4600));
listCars.add(new Samochód ("Volkswagen","Beetle", 2000, "Hatchback", 60, 2002, "2002.11.20",5499));
listCars.add(new Samochód ("Nissan", "Almera", 2000, "sedan", 75, 1999, "2001.11.12", 1900 ));
listCars.add(new Samochód ("Nissan", "Qashqai", 2500, "sedan", 170, 2008, "2017.11.20", 27900 ));
listCars.add(new Samochód ("Nissan", "Micra", 1240, "sedan", 65, 2004, "2005.11.20", 7000));
listCars.add(new Samochód ("Mazda", "6", 2000, "sedan",150 ,2009 , "20011.11.11",20000));
listCars.add(new Samochód ("BMW", " E39",1500 , " kombi",104 , 2005 , " 2005.11.11", 10000));
listCars.add(new Samochód ("Nissan", "primera", 2000 , " sedan", 150,2003 , "2004.11.11", 8000));
listCars.add(new Samochód ("volkswagen", " golf", 1500 , " sedan ", 108 , 1999 , "2000.12.12", 1000));
// Wyświetlenie tablicy obiektów i wywołanie metody sprawdzającej czy auto ma gwarancje.
for(Samochód x: listCars) {
System.out.println("Marka samochodu to: " + x.gettheCarBrand());
System.out.println("Model samochodu to: " + x.getmodel());
System.out.println("Pojemność samochodu to:" + x.getcapacity() + "cm sześciennych");
System.out.println("Typ samochodu to: " + x.gettype());
System.out.println("Moc silnika samochodu to: " + x.getengine() + " Km");
System.out.println("Rok produkcji samochodu to: " + x.getyerOfProduction());
System.out.println("Data pierwszej rejestracji to:" + x.getdateOfFirstRegistration());
System.out.println("Cena samochodu to: " + x.getprice() + " zł");
x.czy_ma_gwarancje("2017-11-20");
}
}
}
Czy ktoś może mi poprawić metodę , która sprawdza czy auto ma gwarancję bo chyba nie działa dokonca dobrze
oraz proszę o ogólną opinie na temat tego kodu i wskazanie co ewentualnie zmienić czy poprawić.Z góry dziękuję