Übungsaufgabe Problem

MackaKacka

Mitglied
Ich bin gerade dabei Java zu lernen und hänge an einem Teil einer Aufgabe. Hier mal meine komplette Aufgabenstellung, alles was in kursiv geschrieben ist habe ich eigentlich schon

- Definiere eine Klasse Auto mit den privaten Parametern Marke, Typ, Zulassungstag, Farbe, Leistung (PS)
- Definiere innerhalb der Klasse Auto für jeden Parameter eine öffentliche Funktion zum Abruf des Parameters (also getBrand(), getType() usw.)
- Instantiiere zwei Objekte der Klasse mit sinnvollen Werten und lass dir von beiden Objekten die Parameter mit Hilfe der zuvor definierten Funktionen ausgeben
- Definiere eine Funktion getKW() die die Leistung des Fahrzeugs in kW zurückgibt (es muss also intern ps in kw umgerechnet werden)
- Definiere eine Klasse Cabrio die von Auto abgeleitet ist und zusätzlich die Funktionen openTop() und closeTop() bietet, mit denen man das Verdeck des Cabrios öffnen/schließen kann. Außerdem muss es möglich sein, mittels getTopStatus() abzufragen, ob das Verdeck gerade offen oder geschlossen ist
- Definiere in der Klasse Auto eine Funktion getAge(), die mir auf Basis des Zulassungsdatums das Alter des Autos in Jahren zurück gibt

- Erweitere die Funktion getAge() um einen optionalen Parameter vom Typ Date. Ist der Parameter gesetzt, liefert die Funktion das Alter des Autos zum übergebenen Zeitpunkt statt zum aktuellen Datum
- Definiere eine Funktion getAgeInDays() die – analog der Funktion getAge() – das Alter in Tagen liefert

Bei dem optionalen Parameter komme ich einfach nicht mehr weiter, keine Ahnung wie ich das anstellen soll, habe schon einiges versucht aber nix hat funktioniert, hoffentlich kann mir jemand auf die Sprünge helfen. Hier noch mein bisheriger Code.

Java:
import java.text.*;
import java.util.*;

public class Auto {
	
	private String Marke;
	private String Typ;
	private String Farbe;
	private double Leistung;
	private String Zulassungstag;
	

	
	public String getMarke (){
		return this.Marke;
	}
	
	public String getTyp (){
		return this.Typ;
	}
	
	public String getFarbe (){
		return this.Farbe;
	}
	
	public double getLeistung(){
		return this.Leistung;
	}
	
	public double getKW (){
		double i;
		i = Leistung * 0.73549875;
		Leistung = i;
		Leistung = Math.round(Leistung);
		return this.Leistung;
	}
	
	

	public String getTag (){
		return this.Zulassungstag;
	}

	public int getAge() throws ParseException{
		SimpleDateFormat dateFormatter = new SimpleDateFormat("dd.MM.yyyy");
		Date dateObject = dateFormatter.parse(Zulassungstag);
		dateFormatter.format(dateObject);
		
		Calendar today = Calendar.getInstance();
		Calendar zulassung = Calendar.getInstance();
		zulassung.setTime(dateObject);
		
		int age = today.get(Calendar.YEAR) - zulassung.get(Calendar.YEAR);
		
		return age;
	}
	
	
	public Auto (String Marke,String Typ,String Farbe,double Leistung, String Zulassungstag) {
		this.Marke = Marke;
		this.Typ = Typ;
		this.Farbe = Farbe;
		this.Leistung = Leistung;
		this.Zulassungstag = Zulassungstag;
		
		
	}
	
	public static void main(String[] args) throws ParseException {
		// TODO Auto-generated method stub
		

	
		Auto golf = new Auto ("Golf","VW","weiß",75,"19.09.2000");
		Auto ferrari = new Auto ("Ferrari","F430","rot",490,"15.6.2012");
		Cabrio cabrio = new Cabrio ("Porsche","911 Turbo S","weiß",560,"24.01.2014");
		
	
		
				
		System.out.print("Marke: "+golf.getMarke() + "\t");
		System.out.print("Typ: "+golf.getTyp() + "\t");
		System.out.print("Farbe: "+golf.getFarbe() + "\t");
		System.out.print("Leistung: "+golf.getLeistung() +"PS" + "\t");
		System.out.print("Leistung: "+golf.getKW() +"KW" + "\t");
		System.out.print("Zulassungstag: "+golf.getTag() + "\t");
		System.out.print("Alter: "+golf.getAge() +" Jahre" + "\n");
		
		System.out.print("Marke: "+ferrari.getMarke() + "\t");
		System.out.print("Typ: "+ferrari.getTyp() + "\t");
		System.out.print("Farbe: "+ferrari.getFarbe() + "\t");
		System.out.print("Leistung: "+ferrari.getLeistung() +"PS" + "\t");
		System.out.print("Leistung: "+ferrari.getKW() +"KW" + "\t");
		System.out.print("Zulassungstag: "+ferrari.getTag() + "\t");
		System.out.print("Alter: "+ ferrari.getAge() +" Jahre" + "\n");
		
		System.out.print("Marke: "+cabrio.getMarke() + "\t");
		System.out.print("Typ: "+cabrio.getTyp() + "\t");
		System.out.print("Farbe: "+cabrio.getFarbe() + "\t");
		System.out.print("Leistung: "+cabrio.getLeistung() +"PS" + "\t");
		System.out.print("Leistung: "+cabrio.getKW() +"KW" + "\t");
		System.out.print("Zulassungstag: "+cabrio.getTag() + "\t");
		System.out.print("Alter: "+cabrio.getAge() +" Jahre" + "\n");
		
		cabrio.getTopStatus();
		cabrio.openTop();
		cabrio.getTopStatus();
		

	}
	

}

class Cabrio extends Auto {
	
	public Cabrio(String Marke, String Typ, String Farbe, int Leistung, String Zulassungstag) {
		super(Marke, Typ, Farbe, Leistung, Zulassungstag);
	}
	
	private boolean topclosed = true;
	
	public void openTop() {
		topclosed = false;
		System.out.println("Das Verdeck wird geöffnet");
	}
	
	public void closeTop() {
		topclosed = true;
		System.out.println("Das Verdeck wird geschlossen");
	}
	
	public boolean getTopStatus() {
		if(topclosed) {
			System.out.println("Das Verdeck ist gerade geschlossen");
		} else {
			System.out.println("Das Verdeck ist gerade geöffnet");
		}
		return topclosed;
	}
	
	
}

mfg MackaKacka
 
Zuletzt bearbeitet:

Joose

Top Contributor
Möglichkeit 1:
Java:
public int getAge(Date date) {
   if(date==null) {
      date = [HEUTIGES DATUM];
   }
   ....
}

Möglichkeit 2:
Java:
public int getAge() {
   return getAge([HEUTIGES DATUM]);
}

public int getAge(Date date) {
   if(date==null) {
      date = [HEUTIGES DATUM];
   }
   ....
}

Möglichkeit 1 würde eher deiner Aufgabenbeschreibung entsprechen.
Persönlich finde ich aber Möglichkeit 2 besser.
 

MackaKacka

Mitglied
Java:
	public int getAge(Date date) throws ParseException{
		SimpleDateFormat dateFormatter = new SimpleDateFormat("dd.MM.yyyy");
		Date dateObject = dateFormatter.parse(Zulassungstag);
		dateFormatter.format(dateObject);
		Calendar today = Calendar.getInstance();
		if (date != null) {
			today.setTime(date);
		}
		
		Calendar zulassung = Calendar.getInstance();
		zulassung.setTime(dateObject);
		
		int age = today.get(Calendar.YEAR) - zulassung.get(Calendar.YEAR);
		
		return age;
	}

irgendwie muss ich das heutige Datum durch ein selbst festgelegtes Datum ersetzen
so sieht es im Moment aus, denke so müsste es ja eigentlich auch gehen, aber dann krieg ich in folgender Zeile den Fehler: "The method getAge(Date) in the type Auto is not applicable for the arguments (double)" und "Syntax error in token ".2001", delete this token"

Java:
		System.out.print("Alter: "+golf.getAge(12.12.2001) +" Jahre" + "\n");
 

Joose

Top Contributor
irgendwie muss ich das heutige Datum durch ein selbst festgelegtes Datum ersetzen
so sieht es im Moment aus, denke so müsste es ja eigentlich auch gehen, aber dann krieg ich in folgender Zeile den Fehler: "The method getAge(Date) in the type Auto is not applicable for the arguments (double)" und "Syntax error in token ".2001", delete this token"

Java:
		System.out.print("Alter: "+golf.getAge(12.12.2001) +" Jahre" + "\n");

Deine Methode "getAge" erwartet als Parameter ein Date Objekt. Du übergibst aber irgendetwas .... durch den Punkt glaubt der Compiler es ist ein double, der 2te Punkt ist für ihn somit falsch und gehört gelöscht.

-> nachschauen wie du aus einem String ein Date machen kannst.
 

MackaKacka

Mitglied
sowas hab ich mir auch schon gedacht, aber ich soll ja ein optionalen Parameter vom Typ Date eigentlich erstellen, wie man aus einem String ein Date macht hab ich ja schon hinbekommen. Ich werd es einfach nochmal mi der String Methode machen, aber ich glaube das war nicht das Ziel der Aufgabe, trotzdem danke schonmal.

Jetzt besteht nur das Problem, dass ich dann bei getAge einen String eingeben muss, wobei er ja wenn ich das nicht mache das heutige Datum nehmen soll
 
Zuletzt bearbeitet:

Joose

Top Contributor
Optionale Parameter gibt es in Java ja leider nicht wirklich.
Die einzige Möglichkeit es halbwegs so hinzubekommen ist wie oben schon gepostet Möglichkeit 2 mit zwei verschiedenen Methoden.

Und als Parameter solltest du ein Objekt vom Type Date übergeben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Übungsaufgabe lösen - Problem mit true und false Java Basics - Anfänger-Themen 6
D Schiedermeier 1. Semester Übungsaufgabe Problem Java Basics - Anfänger-Themen 8
R Problem bei Übungsaufgabe Java Basics - Anfänger-Themen 7
A Laufzeitfehler bei Übungsaufgabe Java Basics - Anfänger-Themen 4
jonathanpizza Hilfe bei einer Übungsaufgabe Java Basics - Anfänger-Themen 6
K Rundbeet Übungsaufgabe Java Basics - Anfänger-Themen 3
J Hilfe bei Übungsaufgabe Java Basics - Anfänger-Themen 17
Z Unklarheit bei Übungsaufgabe [Anfänger] Java Basics - Anfänger-Themen 22
H Übungsaufgabe Java Basics - Anfänger-Themen 21
K Übungsaufgabe... Verständnisproblme (java 8.191) Java Basics - Anfänger-Themen 4
H Polynome Übungsaufgabe uni Java Basics - Anfänger-Themen 49
H Übungsaufgabe algorithmen Java Basics - Anfänger-Themen 2
L Übungsaufgabe zu Schleifen Java Basics - Anfänger-Themen 7
H Frage zu Übungsaufgabe, Array Java Basics - Anfänger-Themen 7
T Übungsaufgabe Event Handling Java Basics - Anfänger-Themen 0
T Übungsaufgabe abstrakte Klasse Java Basics - Anfänger-Themen 21
B Hilfe bei Übungsaufgabe von Freitagsrunde Java Basics - Anfänger-Themen 5
B Übungsaufgabe Java Basics - Anfänger-Themen 5
N Übungsaufgabe aus Java Buch bringt Fehler. Java Basics - Anfänger-Themen 10
B Übungsaufgabe zu Klassen, Methoden ... Java Basics - Anfänger-Themen 2
K Methoden Uhr als Übungsaufgabe Klassen/Objekte Java Basics - Anfänger-Themen 3
S Verständnisproblem einer Übungsaufgabe Java Basics - Anfänger-Themen 6
J Hilfe bei Übungsaufgabe Java Basics - Anfänger-Themen 5
D Brauche Hilfe bei Modulo (Übungsaufgabe) Java Basics - Anfänger-Themen 14
U Erste Schritte Fehler in Übungsaufgabe Java Basics - Anfänger-Themen 22
W Übungsaufgabe:Dynamische Datenstrukturen Java Basics - Anfänger-Themen 10
pg1337 Übungsaufgabe für Anfänger Java Basics - Anfänger-Themen 26
N Übungsaufgabe mit static Wert Java Basics - Anfänger-Themen 27
P Datentypen Frage zu einer Übungsaufgabe Java Basics - Anfänger-Themen 15
N Übungsaufgabe mit Interface Java Basics - Anfänger-Themen 2
F Schleifen Übungsaufgabe Java Basics - Anfänger-Themen 4
C Übungsaufgabe Java Basics - Anfänger-Themen 10
M Hilfe bei Übungsaufgabe :'( nooby Java Basics - Anfänger-Themen 3
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
I WildFily - unterschiedliche Libs im Projekt verursachen Problem Java Basics - Anfänger-Themen 11
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
A ScheduledExecutorService problem Java Basics - Anfänger-Themen 7
marcelnedza Problem mit Weltzuweisung, JavaKarol Java Basics - Anfänger-Themen 13
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
M Erste Schritte Collatz Problem max int Java Basics - Anfänger-Themen 3
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
frager2345 Problem mit Methode Java Basics - Anfänger-Themen 4
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
A Thread-Schreibe-Lese-Problem Java Basics - Anfänger-Themen 4
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
sserio BigInteger Problem Java Basics - Anfänger-Themen 4
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
K Problem mit "Random" Java Basics - Anfänger-Themen 5
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
xanxk Problem For-Schleife mit Charakter Java Basics - Anfänger-Themen 2
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
J Schleife Problem Java Basics - Anfänger-Themen 2
D Problem mit der Erkennung von \n Java Basics - Anfänger-Themen 2
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
M Verständins Problem bei Aufgabe Java Basics - Anfänger-Themen 4
HeiTim Problem mit der Kommasetzung an der richtigen stelle Java Basics - Anfänger-Themen 59
Temsky34 Problem mit dem Code Java Basics - Anfänger-Themen 17
P Problem mit Calendar.getDisplayName() Java Basics - Anfänger-Themen 8
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
M Problem mit Klassenverständnis und Button Java Basics - Anfänger-Themen 8
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4
H Problem mit Verzweigungen Java Basics - Anfänger-Themen 6
H Problem mit Rückgabewert Java Basics - Anfänger-Themen 7
josfe1234 JAVA FX problem Java Basics - Anfänger-Themen 3
A Code Problem Java Basics - Anfänger-Themen 6
Henri Problem von Typen Java Basics - Anfänger-Themen 7
J Problem mit "ArrayIndexOutOfBoundsException" Java Basics - Anfänger-Themen 11
K jackson Mapping - Problem mit Zeitzonen Java Basics - Anfänger-Themen 10
B Threads Problem mit mehreren Threads Java Basics - Anfänger-Themen 38
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
D Schleifen Problem Java Basics - Anfänger-Themen 2
H So viele Fehlermeldungen, dass ich nicht weiß wo das Problem ist. Java Basics - Anfänger-Themen 6
J JAVA-Problem blockiert MEDIATHEKVIEW Java Basics - Anfänger-Themen 13
T Problem mit Lehrzeichen und String bei einfacher Chiffre Java Basics - Anfänger-Themen 8
J extends Problem Java Basics - Anfänger-Themen 2
C Polymorphie-Problem Java Basics - Anfänger-Themen 3
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
I Format Problem mit Wert - bekomme 0,10 anstatt 10,00 Java Basics - Anfänger-Themen 6
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
J Allgemeines Problem mit Klassen Java Basics - Anfänger-Themen 5
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 5
amgadalghabra algorithmisches Problem Java Basics - Anfänger-Themen 19
J Traveling Salesman Problem [Arrays] Java Basics - Anfänger-Themen 9
R ArrayList Problem Java Basics - Anfänger-Themen 6
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
C RegEx Problem Java Basics - Anfänger-Themen 4
J Anfänger TicTacToe, Problem bei Gewinnoption, sowohl Unentschieden Java Basics - Anfänger-Themen 8
E Taschenrechner GUI Problem mit Fehlerhandling Java Basics - Anfänger-Themen 6
M Input/Output Fallunterscheidung Problem Java Basics - Anfänger-Themen 17
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben