void Methode -> keine Chance

Status
Nicht offen für weitere Antworten.

toxictype

Mitglied
Hallo,

wir haben mal wieder einige Aufgaben zu bewältigen.
Meiner Meinung nach ist das alles etwas heftig in der kurzen Zeit.
Wir sind mittlerweile bei Konstruktoren, Zugriffsmethoden bei private Attributen, etc.

Nun haben wir eine Aufgabe bekommen, in der wir u.a. eine void Methhode zur Berechnung
einer Erhoehung eines Rabatts erstellen sollen. Ich bin schon ewig am tüfteln, doch bekomme
es nicht hin. Ich hoffe, ihr könnt mir helfen. Ich werde die Datei mal als Anhang einstellen, da
sie etwas länger ist.

comment: Geht ja gar nicht! Naja, dann stelle ich es so ein, wennes recht ist.

Schon mal vielen für eure Zeit.

gruß
Toxic

Teilaufgabe:

void erhoeheRabatt (double Prozent): erhöht den Rabatt von allen Aufträgen um Prozent Prozent.

Code:

Code:
// alle Klassen des Packages java.io (I/O-Funktionen) werden importiert
import java.io.*;

// Die Klasse Auftragsverwaltung wird deklariert.
public class nAuftragsverwaltung
{
	
	// Deklaration des Arrays arr für die Klasse Auftragsverwaltung
	static nAuftragsverwaltung arr[];

	/** Variablen (Instanzvariablen) werden deklariert.
	 *  Die Attribute werden mit private deklariert. So kann nur mit 
	 *  bestimmten klasseninternen Zugriffsmethoden auf sie zugegriffen werden.
	 */
	private int nummer;
	private String auftraggeber;
	private int beginn;
	private int ende;
	private String status;
	private double preis;
	private double rabatt;

	/** Klasseninterne Zugriffsmethoden (z.B. void setBezeichner(Parameter))
	 *  Die Attribute werden vom Konstruktor bzw. vom erstellten Objekt übergeben.
	 *  Das Schlüsselwort this instanziiert die Instanzvariable mit dem übergebenen Wert.
	 */
	void setNummer(int i)
	{
		this.nummer = i;
	}

	void setAuftraggeber(String s)
	{
		this.auftraggeber = s;
	}

	void setBeginn(int i)
	{
		this.beginn = i;
	}

	void setEnde(int i)
	{
		this.ende = i;
	}

	void setStatus(String s)
	{
		this.status = s;
	}

	// Alternativ zu Methode oben
	// String neuerStatus wird hier an Methode übergeben
	// public void setStatus(String neuerStatus)
	// {
	//	 this.Status = neuerStatus;
	// }

	public void setPreis(double d)
	{
		this.preis = d;
	}

	void setRabatt(double d)
	{
		this.rabatt = d;
	}

	// Zugriffsmethoden, mit denen auf die Attribute (private) zugegriffen werden kann. 
	int getNummer()
	{
		return this.nummer;
	}

	String getAuftraggeber()
	{
		return this.auftraggeber;
	}

	int getBeginn()
	{
		return this.beginn;
	}

	int getEnde()
	{
		return this.ende;
	}

	String getStatus()
	{
		return this.status;
	}

	double getPreis()
	{
		return this.preis;
	}

	public double getRabatt()
	{
		return this.rabatt;
	}

	/** Konstruktor
	 *  Mit Hilfe des Konstruktors und dem new-Operator wird dem
	 *  neuen Objekt Speicher zugewiesen und Atrribute instanziiert.
	 */ 
	public nAuftragsverwaltung(int nr, String ag, int bg, int en, String st, double pr, double ra)
	{
		this.nummer = nr;
		this.auftraggeber = ag;
		this.beginn = bg;
		this.ende = en;
		this.status = st;
		this.preis = pr;
		this.rabatt = ra;
	}

	/** Methode zur Berechnung der restlichen Laufzeit eines Auftrages.
	 *  Die Variable aktuelleKW ist in diesem Falle statisch und wird beim
	 *  Aufruf der Methode übergeben.
	 *  Damit keine negative Ausgabe erfolgt, ist eine if-Abfrage implementiert. 
	 */
	int getRestlicheLaufzeit(int aktuelleKW)
	{
		if (aktuelleKW > ende)
		{
			return 0;
		}
		else
		{
			return ende - aktuelleKW;
		}
	}

	/** Methode zur Berechnung bzw. Ausgabe des Auftragsstatus.
	 *  Die Variable aktuelleKW ist in diesem Falle statisch und wird beim
	 *  Aufruf der Methode übergeben.
	 */
	String getAuftragsstatus(int aktuelleKW)
	{
		if (aktuelleKW > ende)
		{
			status = "beendet";
			return status;
		}
		else
		{
			if (aktuelleKW < beginn)
			{
				status = "nicht angefangen";
				return status;
			}
			else
			{
				if (beginn < aktuelleKW)
				{

					status = "angefangen";
					return status;
				}
				else
				{
					status = "in Verzug";
					return status;
				}
			}
		}
	}

	// Methode zur Berechnung des Preis mit Rabatt
	double berechnePreis()
	{
		return preis - (preis * (rabatt/100));
	}

	// Methode zur Ausgabe der Daten durch Aufruf der Zugriffsmethoden.
	void print()
	{

		System.out.println ("Daten von Auftrag-Nr. " + getNummer() + ":\n");
		System.out.println ("Auftraggeber: " + getAuftraggeber());
		System.out.println ("Auftragsbeginn: " + getBeginn() + " KW");
		System.out.println ("Auftragsende: " + getEnde() + " KW");
		System.out.println ("Auftragsstatus: " + getAuftragsstatus(26));
		System.out.println ("Restliche Laufzeit: " + getRestlicheLaufzeit(26) + " KW");
		System.out.println ("Gesamtpreis: " + getPreis() + " EUR");
		System.out.println ("Rabatt: " + getRabatt() + " %");
		System.out.println ("Gesamtpreis abzgl. Rabatt: " + berechnePreis() + " EUR \n");
		System.out.println ("Gesamtpreis nach Erhoehung d. Rabattes: " + erhoeheRabatt());
	}
	
	// Methode zur Berechnung der Summe aller Einnahmen
	static double berechneEinnahmen()
	{
		double gesPreis = 0;
		for (int i = 0; i < arr.length; i++)
		gesPreis = gesPreis + arr[i].berechnePreis();
		return gesPreis;
	}
	
	// Methode zur Berechnung des erhöhten Rabattes
	// static double erhoeheRabatt()
	// {
	// 	return;
	// }

	
	// Die "ausführende" main-Methode wird deklariert.
	public static void main(String args[])
	{
		
		// Das Array arr wird instanziiert und Speicher wird zugewiesen.
		arr = new nAuftragsverwaltung [3];

		// Die erstellten Objekte werden in Arrays gespeichert.
		arr[0] = new nAuftragsverwaltung(108,"Jonny Peters",23,28,"beendet",1568,3);
		arr[1] = new nAuftragsverwaltung(109,"Carola Magnus",29,32,"beendet",896,3);
		arr[2] = new nAuftragsverwaltung(110,"Peter Meyer",33,46,"beendet",5623,3);

		// for-Schleife zur Ausgabe der Summe aller Einnahmen
		// Das Attribut length gibt die Anzahl der Arrayelemente aus.
		for (int i=0; i < arr.length; i++)
		{
			arr[i].print();
		}

		System.out.println ("Summe aller Einnahmen: " + berechneEinnahmen() +" EUR");
		
		//
		//void info()
		//{
		// 	BufferedReader In = new BufferedReader(new InputStreamReader(System.in));
		// 	System.out.println ("Bitte geben Sie die gesuchte Auftragsnummer ein!");
		// 	String eingabeAuftragsNr = In.readLine();
		//	int auftragsnr = Integer.parseInt(eingabeAuftragsNr);
		// }
		
		}

}
 

Sky

Top Contributor
Zu) 'nAuftragsverwaltung': Klassennamen schreibt man groß und außerdem sieht die Klasse eher aus wie ein "Auftrag" und nicht wie eine "Verwaltung von Aufträgen", auch wenn "Verwaltungs-Methoden" enthalten sind.

Ansonsten würde ich es so machen: Ein Auftrag hat die Methode 'erhoeheRabatt', die den Wert des Rabatts entsprechend berechnet. Die Auftragsverwaltung greift dann in einer Schleife auf alle Aufträge zu und ruft die Methode 'erhoeheRabatt' zu jedem Auftrag auf. Also ungefähr so, wie Du's mit berechneEinnahmen() schon gemacht hast.
 
B

bygones

Gast
wenn ichs richtig verstanden habe müsst ihr eine methode schrieben, die den Rabatt um 5% erhöht ?

also eine void methdo die den Rabatt einfach neusetzt (eben um 5% erhöht)
 
G

Guest

Gast
Hallo und vielen Dank frür eure Hilfe!
Die berechneEinnahmen()-Methode ist aber nicht void.
Ich weiß nicht genau, wie ich den Parameter übergeben soll und überhaupt.

Ich habe einige Ansätze als Methode mit return gehabt, was aber auch nihct funzte.
Außerdem soll die Methode eine void sein und wüßte nicht, wie ich das umsetzen sollte.

Gruß
 

mic_checker

Top Contributor
du kannst doch aber in der methode auf "rabatt" zugreifen und entsprechend erhöhen - da musst du nichts zurückgeben, wie dbac und sky80 schon geschrieben haben.
 

Anselmus

Bekanntes Mitglied
brauchst doch auch gar keinen rückgabewert du mußt doch nur den arraydurchlaufen und auf jedes objekt im array machste ne methode erhoeheRabatt(rabatt)

wie die über mir halt schon sagten =)
 

Bleiglanz

Gesperrter Benutzer
trenne lieber in

class Auftrag

class AuftragsListe (verwaltet eine Liste von Aufträgen)

class TestAuftragsverwaltung // die mit der main

und schmeiss alle statics weg

void erhoeheRabatt (double Prozent): erhöht den Rabatt von allen Aufträgen um Prozent Prozent.

=> ist eine Methode von Auftragsliste

gehe durch alle Aufträge, und für jeden
auftrag.setRabatt(auftrag.getRabatt()*(1+Prozent/100))

klar dass das void ist (was sollte denn auch der Rückgabewert sein)

BTW: soll wirklich ein Rabatt von 30% um 10% erhöhrt werden (also zu 33 werden) oder soll der zu 40% werden??
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Geerbte Instanz kann keine void Methode ausführen?! Java Basics - Anfänger-Themen 15
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
V Methoden printChar Methode mit Rückgabetyp void Java Basics - Anfänger-Themen 26
M Wie kann eine Methode (string) eine andere Methode (void) mit zufälligen int-Werten aufrufen? Java Basics - Anfänger-Themen 4
N Groß- und Kleinschreibung bei Java: void Methode Java Basics - Anfänger-Themen 1
bensdt Klasse erweitern um eine Methode "void decrement()" Java Basics - Anfänger-Themen 5
C Void Methode überladen Java Basics - Anfänger-Themen 5
V for-Schleife in einer void Methode Java Basics - Anfänger-Themen 3
Tommy Nightmare void Methode gibt Array zurück Java Basics - Anfänger-Themen 3
shiroX Methoden JUnit-Test einer void-Methode Java Basics - Anfänger-Themen 4
Silvascus Void Methode einem Stringparameter im syso-Befehl hinzufügen Java Basics - Anfänger-Themen 3
S Methoden void-Methode: Wieso gibt es eine Rückgabe? Java Basics - Anfänger-Themen 5
S Static void Methode Java Basics - Anfänger-Themen 12
D Array void Methode erstellen. Java Basics - Anfänger-Themen 12
D generische methode <T> void . Java Basics - Anfänger-Themen 9
K void Methode abbrechen Java Basics - Anfänger-Themen 7
B Problem mit einer static void Methode Java Basics - Anfänger-Themen 8
C Kann mir jemand sagen warum public void unzulässig ist? Java Basics - Anfänger-Themen 2
S Methoden - Warum int wenn auch void? Java Basics - Anfänger-Themen 3
NaZuRe Geld(Wert) von der public static void main in die public static void Blackjack Java Basics - Anfänger-Themen 2
Vamecruft Compiler-Fehler public static void zu static String ändern Java Basics - Anfänger-Themen 2
C Methoden Unterschied zwichen public int, public static int und public static void Java Basics - Anfänger-Themen 2
J Frage zu: public static void main (String[]args) Java Basics - Anfänger-Themen 1
MrDramasetter Rückgabetyp Void oder Sting Java Basics - Anfänger-Themen 18
L [Verständnisproblem] Array wird trotz void rückgabe verändert. Java Basics - Anfänger-Themen 5
I Methoden public void paintComponent (Graphics g) Java Basics - Anfänger-Themen 4
H Variablen Void und der Rückgabewert Java Basics - Anfänger-Themen 6
G Interpreter-Fehler Problem mit void-Methoden Java Basics - Anfänger-Themen 2
T Void Java Basics - Anfänger-Themen 32
L Was genau macht "public static void" ? Java Basics - Anfänger-Themen 12
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
W Klassen Fehler bei public void setLabelText(JLabel label, String text) Java Basics - Anfänger-Themen 11
Y Warum void statt Datentyp + return Java Basics - Anfänger-Themen 4
T Java Code Hilfe - public void xxx() Java Basics - Anfänger-Themen 2
T public void - Problem Java Basics - Anfänger-Themen 10
M Methoden void verschachteln Java Basics - Anfänger-Themen 4
B Void Mehoden Testen Java Basics - Anfänger-Themen 13
R public static void Rückgabe Java Basics - Anfänger-Themen 5
P Compiler-Fehler public static void main, Grundloses Problem Java Basics - Anfänger-Themen 4
L Objekte aus einem void in anderen voids verwenden Java Basics - Anfänger-Themen 8
K GUI Button methoden/void Problem Java Basics - Anfänger-Themen 6
S Probleme mit dem rückgabetyp void Java Basics - Anfänger-Themen 8
E Methoden public static void main(String[] args) Java Basics - Anfänger-Themen 9
I Methoden Problem If/Else; Public Void Java Basics - Anfänger-Themen 6
D Compiler-Fehler void is an invalid type for the variable Java Basics - Anfänger-Themen 5
M Fragen zu Methoden (void/return), Übergabe von Parametern Java Basics - Anfänger-Themen 3
S Datentypen float statt void Java Basics - Anfänger-Themen 3
S Static void main <-> componentListener Java Basics - Anfänger-Themen 9
O Probleme mit void java.awt.Component.setBackground(Color c) Java Basics - Anfänger-Themen 2
T Hilfe bei void, int !? Java Basics - Anfänger-Themen 14
U void shift Java Basics - Anfänger-Themen 7
T Geht so was? public void verkaufe (<X implements Produkt& Java Basics - Anfänger-Themen 8
C public static void main(String[] args) Java Basics - Anfänger-Themen 6
D Frage zu public static void main. Java Basics - Anfänger-Themen 4
G Vor oder hinter public static void main. ? Java Basics - Anfänger-Themen 8
M 'void' type not allowed Java Basics - Anfänger-Themen 18
T rotes herz public void paint(Graphics g) Java Basics - Anfänger-Themen 2
G Was ist public static void main(String[] args)? Java Basics - Anfänger-Themen 12
G <identifier> expected bei public void final Java Basics - Anfänger-Themen 3
H void not allowed? Java Basics - Anfänger-Themen 4
P Void-Aufrufe verursachen IO-Exceptions? Java Basics - Anfänger-Themen 4
T Von Main auf eine Variable in void zugreifen Java Basics - Anfänger-Themen 4
C public void keyPressed(KeyEvent e) Java Basics - Anfänger-Themen 2
N public void und verhalten bei return Java Basics - Anfänger-Themen 2
M public static void main(String... args)<- Was bedeutet das? Java Basics - Anfänger-Themen 5
A die public static void main ? Java Basics - Anfänger-Themen 3
C Java-Anfang main void public? Java Basics - Anfänger-Themen 5
N public static void main(String args[]) Java Basics - Anfänger-Themen 6
G Warum eigentlich static void? Java Basics - Anfänger-Themen 3
F public final void getsignature() | anfänger Java Basics - Anfänger-Themen 7
P Was genau bedeutet "public static void main(String[] ar Java Basics - Anfänger-Themen 10
R void? static? beide? garnichtst von beiden? Java Basics - Anfänger-Themen 11
B Eine void innerhalb einer anderen void Java Basics - Anfänger-Themen 7
G in void verändern Java Basics - Anfänger-Themen 5
J public static void main? Java Basics - Anfänger-Themen 5
G public static void main(final String[] args) Java Basics - Anfänger-Themen 4
N public static void Java Basics - Anfänger-Themen 18
X Was genau heißt "public static void main(String[] args) Java Basics - Anfänger-Themen 4
B public static void main (String[] args) ??? Java Basics - Anfänger-Themen 2
G getParameter in public static void main Java Basics - Anfänger-Themen 3
T Verschiedene Optionen in der Methode Java Basics - Anfänger-Themen 6
T Rekursive Methode Java Basics - Anfänger-Themen 13
Ü Methode soll Quadrat aus der Summer zurückgeben Java Basics - Anfänger-Themen 10
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
Leyla Spezifischte Methode Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
P Main Methode scheint Constructor aufzurufen, ohne dass es so gecoded ist Java Basics - Anfänger-Themen 2
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
C Zugriff auf Methode Java Basics - Anfänger-Themen 2
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
M Methode sperren bis ein Kriterium erfüllt wurde Java Basics - Anfänger-Themen 3
D Switch Case Methode aufrufen Java Basics - Anfänger-Themen 3
C Unbekannte Methode add bei Klasse die JTree erweitert Java Basics - Anfänger-Themen 14
M methode aufrufen ohne parameter Java Basics - Anfänger-Themen 1
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
Ostkreuz Wieso wird die Methode nochmal aufgerufen? Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben