Register for your free account! | Forgot your password?

Go Back   elitepvpers › Coders Den › Java
You last visited: Today at 14:09

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Java Problem

Discussion on Java Problem within the Java forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 56
Join Date: Sep 2010
Posts: 602
Received Thanks: 188
Java Problem

Hallöchen..
Also für eine Schulaufgabe soll ich die Klasse Vertreter erstellen & anschließend einen Vertreter erstellen in der Startklasse..

Nun möchte ich mit der Methode "berechneProvision"
die Provision eines Vertreters berechnen.
Code:
private double provision;
		
		public double berechneProvision(double provision){
		return this.umsatz * this.newProvisionssatz / 100;
			}

		public double getProvision(){
				return this.provision;
			}
ich habe einen ausgangs Provisionssatz, der sich allerdings abhängig vom Umsatz ändert. Und den "neuen" Provisionssatz (newProvisionssatz) bestimmte ich so:
Code:
private double newProvisionssatz;
			public void ermittleProvisionssatz(double newProvisionssatz) 
			{
				if (this.umsatz >= 20000)
					{
					newProvisionssatz = Vertretter.provisionssatz + 10;
					}
				
				else 
					{
						if (this.umsatz >= 10000) {
							newProvisionssatz = Vertretter.provisionssatz + 5;
							}
						else 
					
						{newProvisionssatz = Vertretter.provisionssatz;
						}
					}
				}
Problem: Wenn ich wie oben erwähnt, die Provision so ausrechne:
Code:
return this.umsatz * this.newProvisionssatz / 100;
zeigt er mir 0 an...

Muss ich newProvisionssatz als einen Parameter oder irgendwie so zwischenzeitlich abspeichern?

Lg... ._.
[GS]_WinDowS_ is offline  
Old   #2

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,478
Received Thanks: 3,318
Du hast in ermittleProvisionssatz newProvisionssatz als Parameter obwohl es nie verwendet wird. Dadurch wird in diesem Kontext deine Instanzvariable newProvisionssatz überschrieben. Lösen kannst du das, indem du dort den Parameter komplett entfernst oder die Zuweisung explizit mit this.newProvisionssatz = /* ... */ machst.

Kleiner Tipp: Schau dir nochmal an was Parameter sind und wann man sie verwendet.
snow is offline  
Old   #3
 
elite*gold: 56
Join Date: Sep 2010
Posts: 602
Received Thanks: 188
Also den newProvisionssatz bestimmte ich ja so, während ich in der Startklasse dem neuen Objekt den Umsatz zuvor zuweise
Code:
p1.setUmsatz(50000);
Code:
Vertretter.setProvisionssatz(10);

nur speichert er mir den newProvisionssatz nicht richtig ab..

hab mir nämlich denn ma printen lassen und er sagt mir 0.. obwohl umsatz>20000 ist.. sollte er mir ja 20 anzeigen (alter Provisionssatz + 10= 10+10 = 20)

Wo steckt hier der Fehler? :/
[GS]_WinDowS_ is offline  
Old   #4
 
Warnuk3r's Avatar
 
elite*gold: 307
Join Date: Jul 2009
Posts: 1,091
Received Thanks: 434
Hab mal dein Code von oben genommen und es funktioniert, denke deine Parameter versauen das ganze. Wie snow schon sagte, du solltest dir dringend anschauen wie das mit den Parametern funktioniert.

Code:
class Vertreter {
	
	private double provision;
	private double umsatz;
	private double newProvisionssatz;
	private double provisionssatz;
	
	public Vertreter() {
		provisionssatz = 10;
	}
	
	public void setUmsatz(double umsatz) {
		this.umsatz = umsatz;
	}
	
	public double berechneProvision(){
		return this.umsatz * this.newProvisionssatz / 100;
	}

	public double getProvision(){
		return this.provision;
	}
	
	public void ermittleProvisionssatz() 
	{
		if (this.umsatz >= 20000) {
			newProvisionssatz = provisionssatz + 10;
		} else {
			if (this.umsatz >= 10000) {
				newProvisionssatz = provisionssatz + 5;
			} else {
				newProvisionssatz = provisionssatz;
			}
		}
	}
	
	public static void main(String[] param) {
		Vertreter v = new Vertreter();
		v.setUmsatz(25000);
		v.ermittleProvisionssatz();
		System.out.println(v.berechneProvision());
	}
}
Umsatz 25000
Provisionssatz = 10+10= 20
Umsatz * Provisionsssatz / 100 = 5000
Konsole gibt aus: 5000.0

Also ist alles so wie gewollt?
Warnuk3r is offline  
Thanks
1 User
Old   #5
 
elite*gold: 56
Join Date: Sep 2010
Posts: 602
Received Thanks: 188
So habs jetzt...

Also mein Fehler war, dass ich "erwartet" habe, dass die Startklasse den neuen Provisionssatz automatisch ausrechnet ohne das ich es extra angeben muss, da sie den neuen ja bei der Provision&Gesamtgehalt braucht..

Naja alles neu geschrieben, mir eine Struktur beigebracht..

Danke dir vielmals Warnuk3r

Noch eine letzte Frage:
Wie kann ich bei der erstellung der neuen Klasse die Attribute
gleich reinschreiben ohne v1.setName...

Also so:
Vertreter v = new Vertreter("Udo", 2000);
[GS]_WinDowS_ is offline  
Old   #6
 
Zunft's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 3,185
Received Thanks: 1,317
Quote:
Originally Posted by [GS]_WinDowS_ View Post
Noch eine letzte Frage:
Wie kann ich bei der erstellung der neuen Klasse die Attribute
gleich reinschreiben ohne v1.setName...

Also so:
Vertreter v = new Vertreter("Udo", 2000);
Dann übergibst du die Daten an den Konstruktor der aufgerufen wird:

Code:
public Vertreter(String name, int number) 
{
	provisionssatz = 10;
}
Zunft is offline  
Old   #7
 
elite*gold: 56
Join Date: Sep 2010
Posts: 602
Received Thanks: 188
Wo genau?

Hab es bei 1 & 2 eingefügt..
also:
Code:
public Vertretter(String name, double umsatz)
		{
			festgehalt = 2000;
			provisionssatz = 10;
		}
und
Code:
public class Vertretter(String name, double umsatz) {

	private String name;
Geht aber beides nicht.. :/
[GS]_WinDowS_ is offline  
Old   #8
 
Zunft's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 3,185
Received Thanks: 1,317


Am Besten liest du dir mal das hier bzw. das komplette Buch durch.
Zunft is offline  
Thanks
1 User
Old   #9
 
elite*gold: 56
Join Date: Sep 2010
Posts: 602
Received Thanks: 188
Hat perfekt funktioniert.. hab das this.name = name vergessen.

Vielen herzlichen Dank an alle
[GS]_WinDowS_ is offline  
Reply


Similar Threads Similar Threads
recompile Problem (Block.java, item.java)
04/13/2013 - Minecraft - 1 Replies
Guten Morgen liebe Com (: Ich versuche etwas neues in Minecraft.. für mich einzubauen.. neuer Block + das Item dazu, des eingepflanzt werden muss.. wie bei einer Karotte oder einer Kartoffel. Ich zeige euch den Inhalt meiner BlockOnion.java package net.minecraft.src;
Java Problem
08/31/2012 - Technical Support - 2 Replies
Hey Zusammen Seit einer Weile hab ich das Problem, das kein Browser Java erkennt, anderst kann ich mir die folgenden Meldungen nicht erklären: http://s7.directupload.net/images/120831/temp/xd3 tctmm.png http://s1.directupload.net/images/120831/temp/xtk m6lsa.jpg Ich habe Windows 7 mit einem 64Bit System, als Browser benutze ich FireFox. Da Minecraft funktionert, muss Java also richtig installiert sein...-.-'
Java problem
11/02/2011 - Technical Support - 5 Replies
Guten Abend allerseits, ich habe follgendes problem und zwar seit ein paar Tagen funktioniert Java nichtmehr so richtig. Am anfang hab ich das gemerkt, da ich Minecraft nichtmehr starten konnte ... jetzt hab ich auf Java.com nachgeschaut hab getestet ob es richtig Installiet wurde und schon beim laden der Testseite hat sich Firefox aufgehängt und musste beendet werden. Hab Java deinstalliert, Pc neugestartet, Java wieder runtergeladen (Java 6 Update 29), geht immer noch nicht... YouTube...
Java Problem
01/23/2011 - Technical Support - 8 Replies
Hey Leute Ich habe heute meinen Laptop( W7 64 bit) auf werkzustand zurückgesetzt. Dann kamen die Standart Programme: ICQ,Firefox,Skype und Java. Bei Java gab es ein Problem. Ich habe mir 3 verschiedene Versionen von der Homepage heruntergeladen (darunter auch die 64 bit version) Und jedesmal kam die Fehlermeldung,dass das Instalations paket nicht existiert bzw. darauf nicht zugreifen kann obwohl ich admin bin. Please Help
Java Problem
01/13/2011 - Minecraft - 9 Replies
Hallo ich will mich mit nem server verbinden dann kommt dieses Problem: Connection Lost Internal Expextion: Java.io.UTDDataFormatException:malformed input around byte5



All times are GMT +1. The time now is 14:09.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.