Du er ikke logget inn. Så lenge du ikke er logget inn går du glipp av muligheten for å holde styr på din egen progresjon.

Logg inn

Valgte tags:

Filtrering:

Skriv ut:

01.08: Rektangel

a) Du skal skrive en klasse Rektangel med datarepresentasjon og metoder. Rektangler har en bredde og en lengde, og tilbyr følgende grensesesnitt:

class Rektangel {

  public Rektangel (double l, double b) {   // Konstruktør
  }

  public void oekLengde (int okning) {    // Oek lengden som angitt
  }

  public void oekBredde (int okning) {    // Oek bredden som angitt
  }

  public double areal () {     // Beregn mitt areal
  }

  public double omkrets () {   // Beregn min omkrets
  }
}

b) Skriv et hovedprogram som:
- oppretter to rektangler med valgfrie størrelser
- skriver ut begges areal
- øk lengden på det ene og bredden på den andre
- skriver ut begges omkrets

c) Utvid klassen med metoder for å redusere et objekt.

Vis løsningsforslag

a)

class Rektangel{

    double bredde;
    double lengde;

    public Rektangel(double l, double b){
        lengde = l;
        bredde = b;
    }

    public void oekLengde(int okning){
        lengde = lengde + okning;
        //lengde += okning;
    }

    public void oekBredde(int okning){
        bredde = bredde + okning;
        //lengde += okning;
    }

    public double areal(){
        return bredde*lengde;
    }

    public double omkrets(){
        return bredde*2 + lengde*2;
    }
}

b)

class RektangelHovedprogram{

    public static void main(String[] args) {

        Rektangel en = new Rektangel(5,9);
        Rektangel to = new Rektangel(10, 2);

        System.out.println("Areal: " +  en.areal());
        System.out.println("Areal: " + to.areal());

        en.oekBredde(5);
        to.oekLengde(2);

        System.out.println("Omkrets: " + en.omkrets());
        System.out.println("Omkrets: " + to.omkrets());
    }
}

c)

De følgende metodene tilhører klassen Rektangel.

public void reduserBredde(int reduser){
    if (bredde - reduser < 1){
        System.out.println("Bredden kan ikke reduseres så mye");
    }
    else {
        bredde = bredde - reduser;
    }
}

public void reduserLengde(int reduser){
    if (lengde - reduser < 1){
        System.out.println("Lengden kan ikke reduseres så mye");
    }
    else {
        lengde = lengde - reduser;
    }
}