reiseplanung erweitert
parent
4c96ee8075
commit
70836e2325
|
@ -11,5 +11,8 @@ public class Auto {
|
||||||
this.co2AusstossProKm = co2AusstossProKm;
|
this.co2AusstossProKm = co2AusstossProKm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public double getCO2AusstoßProKm() {
|
||||||
|
return co2AusstossProKm;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,13 +10,17 @@ public class Reiseplanung {
|
||||||
private double dauerFahrrad;
|
private double dauerFahrrad;
|
||||||
private double co2AusstoßPKW;
|
private double co2AusstoßPKW;
|
||||||
|
|
||||||
public Reiseplanung(Ort zielort) {
|
public Reiseplanung(User user, Ort zielort) {
|
||||||
this.standort = standort;
|
|
||||||
this.zielort = zielort;
|
this.zielort = zielort;
|
||||||
this.entfernung = entfernung;
|
|
||||||
this.dauerPKW = dauerPKW;
|
Auto auto = user.getAuto();
|
||||||
this.dauerFahrrad = dauerFahrrad;
|
standort = user.getHeimatstandort();
|
||||||
this.co2AusstoßPKW =co2AusstoßPKW;
|
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) {
|
public double berechneEntfernung(Ort standort, Ort zielort) {
|
||||||
|
@ -25,6 +29,28 @@ public class Reiseplanung {
|
||||||
double l1 = Math.toRadians(standort.getLängengrad());
|
double l1 = Math.toRadians(standort.getLängengrad());
|
||||||
double l2 = Math.toRadians(zielort.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 username;
|
||||||
private String password;
|
private String password;
|
||||||
private Ort heimatstandort;
|
private Ort heimatstandort;
|
||||||
private Auto auto;
|
public Auto auto;
|
||||||
private double durchschnittsgeschwindigkeitPKW;
|
private double durchschnittsgeschwindigkeitPKW;
|
||||||
private double durchschnittsgeschwindigkeitFahrrad;
|
private double durchschnittsgeschwindigkeitFahrrad;
|
||||||
|
|
||||||
|
@ -31,4 +31,19 @@ public class User {
|
||||||
// Implementierung der Wetteranzeige
|
// 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