Asuntovertailun hintaero

javailija

public class Asunto {

private int huoneita;
private int nelioita;
private int neliohinta;

public Asunto(int huoneita, int nelioita, int neliohinta) {
this.huoneita = huoneita;
this.nelioita = nelioita;
this.neliohinta = neliohinta;
}

public boolean suurempi(Asunto verrattava) {

if (this.nelioita < verrattava.nelioita) {
return false;

} else {
return true;
}
}

public int hintaero(Asunto verrattava) {

if (this.neliohinta > verrattava.neliohinta) {
this.neliohinta = (this.neliohinta * this.nelioita) - (verrattava.neliohinta * verrattava.nelioita);
return this.neliohinta;

}

if (this.neliohinta == verrattava.neliohinta && this.nelioita > verrattava.nelioita) {
return (verrattava.neliohinta * verrattava.nelioita) - (this.neliohinta * this.nelioita);

}

if (this.neliohinta == verrattava.neliohinta && this.nelioita == verrattava.nelioita
|| this.huoneita > verrattava.huoneita) {
}

return (verrattava.neliohinta * verrattava.nelioita) - (this.neliohinta * this.nelioita);
}

public boolean kalliimpi(Asunto verrattava) {

if (this.neliohinta < verrattava.neliohinta) {
return false;

}

if (this.neliohinta == verrattava.neliohinta && this.nelioita > verrattava.nelioita) {
return false;

}

if (this.neliohinta == verrattava.neliohinta && this.nelioita == verrattava.nelioita
|| this.huoneita > verrattava.huoneita) {
}

return true;
}
}

-------------------------------------------------------------------------------------------------------
public class Main {

public static void main(String[] args) {
// voit kirjoittaa testikoodia tänne
Asunto eiraYksio = new Asunto(1, 20, 1000);
Asunto kallioKaksio = new Asunto(2, 30, 2000);
Asunto jakomakiKolmio = new Asunto(2, 23, 1500);

System.out.println(eiraYksio.suurempi(kallioKaksio));
System.out.println(jakomakiKolmio.suurempi(kallioKaksio));

System.out.println("");

System.out.println(eiraYksio.hintaero(kallioKaksio));
System.out.println(kallioKaksio.hintaero(eiraYksio));

System.out.println("");

System.out.println(eiraYksio.kalliimpi(kallioKaksio));
System.out.println(jakomakiKolmio.kalliimpi(kallioKaksio));
}
}

Hintaero kohta ei toimi testeissä ja pitäisi tulostaa tyyliin: 22500 ja 40000 mutta testit näyttää 1165500. Että mikä siinä kusee?

5

260

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • plörtsis

      Jotain huomioita
      1. hintojen käsittely olisi varmasti paljon helpompaa jos Asunnolla olisi metodi vaikkapa "laskeHinta" joka palauttaa kyseisen asunnon hinnan.
      2. suurempi metodista voit poistaa turhat if lausekkeet kokonaan tyyliin
      return this.nelioita >= verrattava.nelioita
      3. hintaero metodissa muokkaat asunnon neliohintaa. Joko se on väärä toiminnallisuus tai metodin nimi on väärä.. luulenpa että hintaeron laskeminen helpottuu tekemällä tuon laskeHinta metodin joten ei siitä sen enempää
      4. mikä merkitys on muuttujalla huoneita? Ei vaikuta hintaan mutta käytät joissain vertailuissa

    • javailija

      Koska en tosiaan osaa sitä kohtaa tehdä niin pistin sen huoneita vaan siihen kohtaan ja ei varmasti vaikuta mitään kunhan laitoin ja ohjeissa sanotaan, että neliöt kertaa neliöidenhinnan itseisarvo. Mutta katotaan jos sen saisi toimimaan.

    • javailija

      Tekisitkö tänne oman versiosi tuosta jos vaikka se toimisi ja laita se sitten tänne.

      • plörtsis

        Sori, mutta en tee toisten kotitehtäviä :)


    • purtsis

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Työeläkeloisinta Suomen suurin talousongelma

      Työeläkeloisinta maksaa vuodessa lähes 40 miljardia euroa, josta reilut 28 miljardia on pois palkansaajien ostovoimasta.
      Maailman menoa
      281
      2926
    2. Veroaste on Suomessa viitisen prosenttiyksikköä liian matala

      Veropohjaa on rapautettu käytännössä koko kulunut vuosituhat, jonka vuoksi valtion menoja on jouduttu rahoittamaan velka
      Maailman menoa
      57
      2326
    3. Israel euroviisujen 2.

      Israel sai taas eniten yleisöääniä. Suomesta täydet 12 pistettä, poliittinen ”ammattiraati” antoi 0 pistettä. Hyvä Is
      Uskonnot ja uskomukset
      348
      2007
    4. Persujen puoluekokous 2026

      Missä ja Milloin pidetään ?
      Maailman menoa
      115
      1733
    5. Euroviisut ei enää niin musiikkikilpailu?

      Kappaleiden taso ei enää ole mikä sijoituksen ratkaisee.Eikö kukaan ihmettele että Israel pärjää lähes joka vuosi kisois
      Maailman menoa
      112
      1681
    6. Mun mielestäni on tosi loukkaavaa

      Nainen, että luulet palatan typeriä, sekavia ja ilkeitä viestejä mun kirjoittamiksi. Mä en ole katkera, epätoivoinen, ra
      Ikävä
      212
      1375
    7. Tiedän satavarmasti ettet tule koskaan

      Uskaltamaan mitään. Ei me tulla edes näkemään koskaan.
      Ikävä
      66
      1317
    8. Mikä se viehättävin

      Asia on kaivatussasi?
      Ikävä
      68
      1253
    9. Mikä kaivatussasi

      Viehättää ulkoisesti ja mikä sisäisesti?
      Ikävä
      58
      1232
    10. Rakas nainen ymmärsin

      Että minun pitää pitää kiinni sinusta. Haluan, että sä olet onnellinen. Olet mulle se oikea ja mä sulle. Rakastan Sua yl
      Ikävä
      77
      1181
    Aihe