Methoden Ausgeben Aufgabe

Black Kong

Mitglied
Hallo,
hab folgende Aufgabe bezüglich Mehtoden
-Hersteller ausgeben können;
-den Bruttoverkaufspreis berechnen und ausgeben
-Ende der Garantie ausgeben bezogen auf das Kaufdatum

Ich habe die 1&2 Aufgabe soweit geschafft, nur bei der letzten habe ich einige Schwierigkeiten, dies zu realisieren, da mir wahrscheinlich die Befehle dazu fehlen.

Mit freundlichen Grüßen
Javascript:
package elektrorad;
import java.text.SimpleDateFormat; 
import java.util.Date; 


public class Elektrorad {
    int kennzeichen;
    String hersteller;
    String kdatum;
    String gdatumlaufzeit;
    int nettoverkaufspreis;
    public void bruttoverkaufspreis () {
        System.out.println(0.19*nettoverkaufspreis+nettoverkaufspreis);
      
    }
 
 
 
    

    
    public static void main(String[] args)throws Exception {
        // TODO code application logic here
     String sDate1="1/1/2019"; 
    Date date1=new SimpleDateFormat("dd/MM/yyyy").parse(sDate1); 
    System.out.println(sDate1); 
        Elektrorad z=new Elektrorad ();
    z.nettoverkaufspreis =15;
    z.bruttoverkaufspreis();
    z.hersteller= "Karl Meier";
    
    }}
 
Zuletzt bearbeitet:
Javascript:
public class Elektrorad {

    String kdatum;
    String gdatumlaufzeit;
Damit müsstest du es berechnen können, jedoch benutzt du den default Konstruktor, welche diese Variablen nicht initialisiert. Dein Konstruktor könnte so aussehen:
Java:
public Elektrorad(int kennzeichen, String hersteller, String kdatum, String gdatumlaufzeit, int nettoverkaufspreis){
    this.kennzeichen = kennzeichen;
    this.hersteller = hersteller;
    this.kdatum = kdatum;
    this.gdatumlaufzeit = gdatumlaufzeit;
    this.nettoverkaufspreis = nettoverkaufspreis;
}

BTW. bitte stecke deine main Methode in eine separate Klasse 😉
 
Zuletzt bearbeitet:
Hallo,
vielen Dank für die schnelle Antwort.
Habe es mal wie von dir empfohlen versucht, das mit dem Konstruktur hat eigentlich recht gut geklappt, aber meine Main Methode ein eine neue Klasse zu stecken klappt bei mir irgendwie nicht. Zudem klappt meine Rechnung für den Bruttoverkaufspreis nicht mehr, da void nicht akzeptiert wird. Und beim Datum hakt es leider immer noch, wenn ich es davor
Javascript:
package elektrorad;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Elektrorad {
    int kennzeichen;
    String hersteller;
    String kdatum;
    String gdatumlaufzeit;
    int nettoverkaufspreis;
    double bruttoverkaufspreis;
    public Elektrorad(int kennzeichen, String hersteller, String kdatum, String gdatumlaufzeit, int nettoverkaufspreis, double bruttoverkaufspreis){
    this.kennzeichen = kennzeichen;
    this.hersteller = hersteller;
    this.kdatum = kdatum;
    this.gdatumlaufzeit = gdatumlaufzeit;
    this.nettoverkaufspreis = nettoverkaufspreis;
    this.bruttoverkaufspreis=bruttoverkaufspreis;
}

    public void bruttoverkaufspreis () {
        System.out.println(0.19*nettoverkaufspreis+nettoverkaufspreis);
    
    }


  

    public static void main(String[] args)throws Exception {
        
  
        Elektrorad may= new Elektrorad (15,"Hermes","1/1/2019","1/1/2020",200,0.19);
        System.out.print("Das Kennzeichen ist: ");
        System.out.println(may.kennzeichen);
        System.out.print("Der Hersteller heißt: ");
        System.out.println(may.hersteller);
        System.out.print("Das Kaufdatum war der: ");
        System.out.println(may.kdatum);
        System.out.println(may.nettoverkaufspreis);
        String sDate1="1/1/2019";
    Date date1=new SimpleDateFormat("dd/MM/yyyy").parse(sDate1);
    System.out.println(sDate1);
      
      
      
  
    }}
 
Sorry bin noch ein recht blutiger Anfänger hier in Java, habe ein neues Projekt erstellt und dann, dass selbe eingegeben wie schon beim vorherigen.
Javascript:
package programm;


public class Programm {

  
    public static void main(String[] args) {
       Elektrorad mya= new Elektrorad(15,"Hermes","1/1/2019","1/1/2020",200,0.19);
    }
    
}
 
Sorry bin noch ein recht blutiger Anfänger hier in Java, habe ein neues Projekt erstellt und dann, dass selbe eingegeben wie schon beim vorherigen.
Javascript:
package programm;


public class Programm {


    public static void main(String[] args) {
       Elektrorad mya= new Elektrorad(15,"Hermes","1/1/2019","1/1/2020",200,0.19);
    }
  
}
Die Packages heißen zwar gleich, sind jedoch nicht dieselben 😉 Du musst im vorherigen package eine Klasse erstellen und kein neues Java Projekt aufsetzen.

Sende mal ein Screenshot von deinem Java Projekt (also vom Package Explorer)
 
Eher nicht => programm vs. elektrorad

Ansonsten korrekt, kein neues Projekt, sondern nur eine neue Klasse anlegen.
Darauf hatte ich jetzt nicht geachtet 🙂 Hatte es nur überflogen und gelesen, dass er ein neues Projekt erstellt hat... Das ändert jedoch trotzdem nichts an dem Problem und der Lösung die ich oben geschildert habe 😉
 
Darauf hatte ich jetzt nicht geachtet 🙂 Hatte es nur überflogen und gelesen, dass er ein neues Projekt erstellt hat... Das ändert jedoch trotzdem nichts an dem Problem und der Lösung die ich oben geschildert habe 😉
Jetzt klappt es 🙂, leider habe ich das Problem mit dem Bruttoverkaufspreis nicht gelöst bekommen, das void nicht akzeptiert wird.
Javascript:
package elektrorad;
import java.text.SimpleDateFormat; 
import java.util.Date; 

public class Elektrorad {
    int kennzeichen;
    String hersteller;
    String kdatum;
    String gdatumlaufzeit;
    int nettoverkaufspreis;
    double bruttoverkaufspreis;
    public Elektrorad(int kennzeichen, String hersteller, String kdatum, String gdatumlaufzeit, int nettoverkaufspreis, double bruttoverkaufspreis){
    this.kennzeichen = kennzeichen;
    this.hersteller = hersteller;
    this.kdatum = kdatum;
    this.gdatumlaufzeit = gdatumlaufzeit;
    this.nettoverkaufspreis = nettoverkaufspreis;
    this.bruttoverkaufspreis=bruttoverkaufspreis;
}

    public void bruttoverkaufspreis () {
        System.out.println(0.19*nettoverkaufspreis+nettoverkaufspreis);
      
    }

}

Code:
package elektrorad;

import java.text.SimpleDateFormat;
import java.util.Date;


public class NewClass {
    public static void main(String[] args)throws Exception  {
  
         Elektrorad may= new Elektrorad (15,"Hermes","1/1/2019","1/1/2020",200,0.19);
        System.out.print("Das Kennzeichen ist: ");
        System.out.println(may.kennzeichen);
        System.out.print("Der Hersteller heißt: ");
        System.out.println(may.hersteller);
        System.out.print("Das Kaufdatum war der: ");
        System.out.println(may.kdatum);
        System.out.println(may.nettoverkaufspreis);
        String sDate1="1/1/2019"; 
    Date date1=new SimpleDateFormat("dd/MM/yyyy").parse(sDate1); 
    System.out.println(sDate1); 
}
 
Jetzt klappt es 🙂, leider habe ich das Problem mit dem Bruttoverkaufspreis nicht gelöst bekommen, das void nicht akzeptiert wird.
Javascript:
package elektrorad;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Elektrorad {
    int kennzeichen;
    String hersteller;
    String kdatum;
    String gdatumlaufzeit;
    int nettoverkaufspreis;
    double bruttoverkaufspreis;
    public Elektrorad(int kennzeichen, String hersteller, String kdatum, String gdatumlaufzeit, int nettoverkaufspreis, double bruttoverkaufspreis){
    this.kennzeichen = kennzeichen;
    this.hersteller = hersteller;
    this.kdatum = kdatum;
    this.gdatumlaufzeit = gdatumlaufzeit;
    this.nettoverkaufspreis = nettoverkaufspreis;
    this.bruttoverkaufspreis=bruttoverkaufspreis;
}

    public void bruttoverkaufspreis () {
        System.out.println(0.19*nettoverkaufspreis+nettoverkaufspreis);
     
    }

}

Code:
package elektrorad;

import java.text.SimpleDateFormat;
import java.util.Date;


public class NewClass {
    public static void main(String[] args)throws Exception  {
 
         Elektrorad may= new Elektrorad (15,"Hermes","1/1/2019","1/1/2020",200,0.19);
        System.out.print("Das Kennzeichen ist: ");
        System.out.println(may.kennzeichen);
        System.out.print("Der Hersteller heißt: ");
        System.out.println(may.hersteller);
        System.out.print("Das Kaufdatum war der: ");
        System.out.println(may.kdatum);
        System.out.println(may.nettoverkaufspreis);
        String sDate1="1/1/2019";
    Date date1=new SimpleDateFormat("dd/MM/yyyy").parse(sDate1);
    System.out.println(sDate1);
}
Was meinst du mit void wird nicht akzeptiert? Du kannst den Wert doch zurück geben 😉
 
Deine Methode definiert keinen Rückgabewert (= void)
Java:
public void bruttoverkaufspreis()

Wenn sie einen Wert zurückgeben soll, dann musst du einen Rückgabetyp angeben:
Java:
public double bruttoverkaufspreis() // Rückgabewert vom Typ double
In der Methode musst du dann mit "return" dein errechnetes Ergebnis vom Typ double zurückgeben.

Damit funktioniert dann auch
Java:
System.out.println(may.bruttoverkaufspreis()); // Aufruf der Methode bruttoverkaufspreis() und Ausgabe des Ergebnisses

ABER

Deine Methode gibt ja das Ergebnis innerhalb der Methode direkt aus und das sollte auch funktionieren. Was meinst du also mit "void wird nicht akzeptiert"?
 
Du hast ein Member bruttoverkaufspreis und eine Methode bruttoverkaufspreis.
Das ist eine schlechte Idee.
Ich weiss zwar nicht - und will es auch gar nicht wissen - wann wer aufgerufen wird, aber ich würde solche Zweideutigkeiten immer vermeiden!
 
Zuletzt bearbeitet:
Du hast ein Member bruttoverkaufspreis und eine Methode bruttoverkaufspreis.
Das ist eine schlechte Idee.
Ja, das ist richtig aber zumindest technisch kein Problem.

Jetzt klappt es 🙂, leider habe ich das Problem mit dem Bruttoverkaufspreis nicht gelöst bekommen, das void nicht akzeptiert wird.
Bah, drück im Editor von NetBeans mal Alt+Shift+F - die Formatierung ist ja fürchterlich.

Dann frage ich mich: wofür brauchst Du eine Variable für den Bruttoverkaufspreis, wenn dieser doch berechnet wird? Deiner main-Methode nach ist das doch der MwSt-Satz...
 

Zurück
Oben