Springen naar inhoud

Java


  • Log in om te kunnen reageren

#1

marjan

    marjan


  • >25 berichten
  • 34 berichten
  • Gebruiker

Geplaatst op 10 april 2010 - 19:49

Hallo kan iemand mij helpen alstublieft ik ben nog maar pas begonnen met het leren van programmeren Java en ik zit in de knoop met een heel grote oefening zet alvast de opgave hier onder
Jaarlijks moet een bedrijf belasting betalen op haar
voertuigenpark. Voor elke personenauto moet 1.1 keer het
aantal kW van de motor betaald worden. Verhoogd met 400
Euro indien de aankoopprijs van de wagen meer bedraagt dan
20.000 Euro. Voor elke vrachtwagen dient 69 Euro betaald te
worden per ton laadvermogen. Bereken de belasting die betaald
dient te worden door een bedrijf met volgend wagenpark:
1Vijf personenauto's: Mercedes (215kW, 34.000 Euro), VW
(167kW, 24.000 Euro), Renault (104kW, 18500 Euro) en
2 keer Renault (55kW, 11.000 Euro).
2 Twee vrachtwagens: _e_en met 18.5 ton laadvermogen en
een met 8 ton laadvermogen.

CreŽer een extra klasse Bus. Voor een bus dient 33 Euro
Belasting betaald te worden per zitplaats en 11 Euro per m3
Laadruimte. Het bedrijf waarvan sprake in hoofstuk 4 schaft
twee busjes aan voor werknemerstransport: een met 22
Zitplaatsen en 7 m3 laadruimte en een met 14 zitplaatsen en 3
m3 laadruimte. Bereken de te betalen bedrijfsbelasting.
Wat wordt de te betalen belasting wanneer voor de belasting op
Auto’s er een bijkomende taks komt van 33 Euro per zitplaats?

CreŽer een extra klasse Bedrijf, met 5 Auto, Vrachtwagen
en Bus attributen. Voorzie daarvoor de methodes addAuto,
addVrachtwagen en addBus met als parameters de waarden
Die je nodig hebt om een Auto, Vrachtwagen of Bus te
instantieren. Wanneer de client meer dan 5 attributen van een
Type wil toevoegen, verschijnt de boodschap `Maximaal 5 .
Attributen'.
Voorzie tenslotte de methode waarmee de belasting voor het
ganse bedrijf kan berekend worden.

Hier zijn ingeschreven codes die tot nu toe heb maar ik weet niet hoe het verder moet en of ze wel juist zijn
code 1
public class Auto {
public int autoPrijs1= 34000;
public int autoPrijs2 =24000;
public int autoPrijs3 =18500;
public int autoPrijs4 =11000;
public int autoPrijs5= 11000;

public int autoKW1=215;
public int autoKW2=167;
public int autoKW3=104;
public int autoKW4=55;
public int autoKW5=55;

public Auto(int autoPrijs1,int autoPrijs2,int autoPrijs3,int autoPrijs4,int autoPrijs5, int autoKW1,int autoKW2,int autoKW3,int autoKW4,String bererkening){
}
	
	public int getautoKW1(){
		if (autoPrijs1 > 20000) { 
			  return autoKW1 + 400; 
		  } else {
			  return autoKW1;
	}
}
	public int getautoKW2(){
		if (autoPrijs2 > 20000) { 
			  return autoKW2 + 400; 
		  } else {
			  return autoKW2;		 
		  }
	 }
		public int getautoKW3(){
			if (autoPrijs3 > 20000) { 
				  return autoKW3 + 400; 
			  } else {
				  return autoKW3;		 
			  }
		}
		
		public int getautoKW4(){
			if (autoPrijs4 > 20000) { 
				  return autoKW4 + 400; 
			  } else {
				  return autoKW4;		 
			  }
		}
		public int getautoKW5(){
			if (autoPrijs5 > 20000) { 
				  return autoKW5 + 400; 
			  } else {
				  return autoKW5; 
		}
		
		}
}
code2
public class Vrachtwagen {
	public double laadvermogen1=18.5;
	public double laadvermogen2;

	public Vrachtwagen(double laadvermogen1,double laadvermogen2){
	 }
		
		public double laadvermogen1(){
			if (laadvermogen1 == 18.5) { 
				  return laadvermogen1 *69; 
			  } else {
				  return 0;		 
			  }
		}
		public double laadvermogen2(){
			if (laadvermogen2 == 8.0) { 
				  return laadvermogen2 *69; 
			  } else {
				  return 0;  
		}
		
}
}
code3
public class Bus {
	public int AantalZitPaatsen1=22;
	public int  AantalZitPaatsen2=14;
	public int laadruimte1;
	public int laadruimte2;

public Bus (int AantalZitPaatsen1, int AantalZitPaatsen2,int laadruimte1,int laadruimte2){
}
public int AantalZitPaatsen1(){
	if (AantalZitPaatsen1 == 22) { 
		  return AantalZitPaatsen1 *33; 
	  } else {
		  return 0; 
	  }
}
	public int AantalZitPaatsen2(){
		if (AantalZitPaatsen1 == 22) { 
			  return AantalZitPaatsen1 *33; 
		  } else {
			  return 0; 
		}
		  }
		public int laadruimte1(){
			if (laadruimte1 == 7) { 
				  return laadruimte1 *11; 
			  } else {
				  return 0; 
		}
		}
			public int laadruimte2(){
				if (laadruimte1 == 3) { 
					  return laadruimte2 *11; 
				  } else {
					  return 0;	
				  }	
			}
}
kan u mij alstublieft helpen ik vind deze opgave moeilijk
vriendelijk groeten Marjan

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

ZVdP

    ZVdP


  • >1k berichten
  • 2097 berichten
  • VIP

Geplaatst op 12 april 2010 - 11:14

Ik denk niet dat je met deze code op de goede weg zit.

In de klasses van auto, vrachtwagen en bus moet je maar 1 autio, vrachtwagen of bus aanmaken, en niet alle voertuigen ineens.
Stel dat je nu code moet schrijven om een andere hoeveelheid van voertuigen te berekenen, dan moet je alles herschrijven.

Ik zou het zo doen:

een abstracte klasse voertuig (deze is niet echt nodig, maar ik vind het altijd handig om gemeenschappelijke dingen van verschillende gelijkaardige klasses in een abstracte superklasse te steken):
public abstract class Voertuig
{
public abstract int getBelasting();
}

De klasses Auto, Vrachtwagen en Bus zijn allemaal subklasses van Voertuig.

Voorbeeld klasse Auto:
public class Auto extends Voertuig
{
private int kW;
private int prijs;

public Auto(int kW,int pijs)
{
this.kW=kW;
this.prijs=prijs;
}

@Override
public int getBelasting()
{
//TODO hier bereken je de belasting van de auto
}
}

Vrachtwagen en Bus zullen gelijkaardig zijn.

De klasse Bedrijf zal er nu zo uitzien:
public class Bedrijf
{
private Vector<Auto> autos;
public Vector<Vrachtwagen> vrachtwagens;

public Bedrijf()
{
autos=new Vector<Auto>(0);
vrachtwagens=new Vector<Vrachtwagens>(0);
}

public void addAuto(int kW,int prijs)
{
//TODO rekening houden met max van 5 autos
autos.add(new Auto(kW,prijs));
}

//TODO addVrachtwagen()
//TODO addBus()

public int getBelastingen()
{
int belastingen=0;
//TODO bereken belastingen
return belastingen;
}

Als er nu iets verandert aan de hoeveelheid voertuigen, dan moet je niet in alle klasses iets gaan aanpassen, maar enkel op de plaats van waar het object van Bedrijf aangemaakt en geÔnitialiseerd wordt.

Veranderd door ZVdP, 12 april 2010 - 11:25

"Why must you speak when you have nothing to say?" -Hornblower
Conserve energy: Commute with a Hamiltonian

#3

marjan

    marjan


  • >25 berichten
  • 34 berichten
  • Gebruiker

Geplaatst op 12 april 2010 - 15:39

hoi
bedankt voor je reactie het gootste deel van de oefening is klaar
maar weet iemand hoe ik dit kan zetten in mijn add methoden Wanneer de client meer dan 5 attributen van een
Type wil toevoegen, verschijnt de boodschap `Maximaal 5 .
Attributen'.
groetjes marjan

#4

ZVdP

    ZVdP


  • >1k berichten
  • 2097 berichten
  • VIP

Geplaatst op 12 april 2010 - 15:56

Check eerst hoeveel attributen er al zijn (Voor een vector is dit vector.size()).

En indien er al vijf zijn, kan je dit laten weten door bv
System.out.println("boodschap...");
Of via een popupschermpje:
JOptionPane.showMessageDialog(null,"boodschap....");
"Why must you speak when you have nothing to say?" -Hornblower
Conserve energy: Commute with a Hamiltonian

#5

Cycloon

    Cycloon


  • >1k berichten
  • 4810 berichten
  • VIP

Geplaatst op 12 april 2010 - 21:32

ZVdP, je idee voor een abstracte bovenklasse is ok, enkel gebruik je in dit geval beter een interface (daar zijn ze voor gemaakt). Een abstracte bovenklasse is enkel aan te raden indien er gedeelde attributen of gedeelde, uitgewerkte methoden zijn (zelf in dit geval definieert men vaak nog een interface).





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures