reiseplanung erweitert
parent
4c96ee8075
commit
70836e2325
|
@ -11,5 +11,8 @@ public class Auto {
|
|||
this.co2AusstossProKm = co2AusstossProKm;
|
||||
}
|
||||
|
||||
public double getCO2AusstoßProKm() {
|
||||
return co2AusstossProKm;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -10,13 +10,17 @@ public class Reiseplanung {
|
|||
private double dauerFahrrad;
|
||||
private double co2AusstoßPKW;
|
||||
|
||||
public Reiseplanung(Ort zielort) {
|
||||
this.standort = standort;
|
||||
public Reiseplanung(User user, Ort zielort) {
|
||||
|
||||
this.zielort = zielort;
|
||||
this.entfernung = entfernung;
|
||||
this.dauerPKW = dauerPKW;
|
||||
this.dauerFahrrad = dauerFahrrad;
|
||||
this.co2AusstoßPKW =co2AusstoßPKW;
|
||||
|
||||
Auto auto = user.getAuto();
|
||||
standort = user.getHeimatstandort();
|
||||
berechneEntfernung(this.standort, this.zielort);
|
||||
dauerPKW = berechneDauer(entfernung, user.getDurchschnittsgeschwindigkeitPKW());
|
||||
dauerFahrrad = berechneDauer(entfernung, user.getDurchschnittsgeschwindigkeitFahrrad());
|
||||
berechneCO2Ausstoß(this.entfernung, auto);
|
||||
|
||||
}
|
||||
|
||||
public double berechneEntfernung(Ort standort, Ort zielort) {
|
||||
|
@ -25,6 +29,28 @@ public class Reiseplanung {
|
|||
double l1 = Math.toRadians(standort.getLängengrad());
|
||||
double l2 = Math.toRadians(zielort.getLängengrad());
|
||||
|
||||
return 6378.388 * Math.acos(Math.sin(b1) * Math.sin(b2) + Math.cos(b1) * Math.cos(b2) * Math.cos(l2 - l1));
|
||||
entfernung = (6378.388 * Math.acos(Math.sin(b1) * Math.sin(b2) + Math.cos(b1) * Math.cos(b2) * Math.cos(l2 - l1))) * 1.25;
|
||||
|
||||
return entfernung;
|
||||
}
|
||||
|
||||
//berechnet die ungefähre Dauer zum gewählten Ort
|
||||
public double berechneDauer(double entfernung, double geschwindigkeit) {
|
||||
return entfernung/geschwindigkeit;
|
||||
|
||||
}
|
||||
|
||||
//berechnet ungefähren CO2 Ausstoß des Autos für eine Strecke
|
||||
public double berechneCO2Ausstoß(double entfernung, Auto auto) {
|
||||
co2AusstoßPKW = entfernung * auto.getCO2AusstoßProKm();
|
||||
return co2AusstoßPKW;
|
||||
}
|
||||
|
||||
public double getEntferung() {
|
||||
return entfernung;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "Von " + standort + " Nach " + zielort + "\nEntfernung: " + entfernung + "\nReisedauer mit dem PKW: " + dauerPKW + "\nReiserdauer mit dem Fahrrad: " + dauerFahrrad + "\nCO2-Ausstoß durch PKW: " + co2AusstoßPKW;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ public class User {
|
|||
private String username;
|
||||
private String password;
|
||||
private Ort heimatstandort;
|
||||
private Auto auto;
|
||||
public Auto auto;
|
||||
private double durchschnittsgeschwindigkeitPKW;
|
||||
private double durchschnittsgeschwindigkeitFahrrad;
|
||||
|
||||
|
@ -31,4 +31,19 @@ public class User {
|
|||
// Implementierung der Wetteranzeige
|
||||
}
|
||||
|
||||
public double getDurchschnittsgeschwindigkeitPKW() {
|
||||
return durchschnittsgeschwindigkeitPKW;
|
||||
}
|
||||
|
||||
public double getDurchschnittsgeschwindigkeitFahrrad() {
|
||||
return durchschnittsgeschwindigkeitFahrrad;
|
||||
}
|
||||
|
||||
public Ort getHeimatstandort() {
|
||||
return heimatstandort;
|
||||
}
|
||||
|
||||
public Auto getAuto() {
|
||||
return auto;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue