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

243

    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. Tiedätkö mihin

      Ominaisuuksiin rakastuin sinussa?
      Ikävä
      81
      4462
    2. Purra on kantanut vastuuta täyden kympin arvoisesti

      Luottoluokituksen lasku, ennätysvelat ja ennätystyöttömyys siitä muutamana esimerkkinä. Jatkakoon hän hyvin aloittamaans
      Maailman menoa
      116
      4142
    3. BOIKOTOIN - Ei mitään Suomi.fi postilaatikoita käyttöön

      Ainakaan minulle! Vai että pitäisi alkaa siellä käyädä katselemassa tammikuusta 2026 siis periaatteessa päivittäin että
      Maailman menoa
      169
      3181
    4. Surullista

      Että menetit sen naisen , tosi surullista ja vielä oman tyhmyyden takia ,ymmärrän että se on masentavaa
      Ikävä
      58
      2557
    5. Hallitus on kaadettava ja Orpon on erottava

      Mikään muu hallitus ei ole oman elämäni aikana tuhonnut näin paljon tämän maan taloutta ja työllisyyttä sekä suomen main
      Maailman menoa
      22
      2508
    6. Muuttunut käytös

      Onko kaivattusi käytös muuttunut? Tiedätkö mistä se johtuu? Haluatko kertoa, mitä tapahtui?
      Ikävä
      68
      2429
    7. 162
      2407
    8. Lasse Lehtonen vaatii persuja pyytämään anteeksi aasialaisilta

      Persut ova romahduttaneet Suomen maakuvan parissa päivässä negatiiviseksi rasismillaan ja se alkaa vaikuttamaan jo Suome
      Maailman menoa
      57
      2304
    9. Väkeä oli liikkeellä

      Nyt leijutaan pilvissä. Kun eläinpuistossa oli porukkaa 😆😆 Olihan siellä kun ilmaiseksi pääsivät. Eiköhän se juuri sik
      Ähtäri
      42
      2117
    10. Oliko kiihkeä

      ensimmäinen yö?
      Ikävä
      52
      2042
    Aihe