⌛ Mediaani

Tehtävän palautus koostuu Maven-projektista. Sijoita pom.xml-tiedosto paikallisen tietovarastosi round3/median-hakemistoon ja tee tähän hakemistoon src/main/java-niminen alihakemisto. Voit valita Java-luokkasi tai -luokkiesi nimet vapaasti, kunhan tiedostot ovat hakemistossa round3/median/src/main/java. Mikäli luot projektin NetBeansilla, kannattaa tyhjentää Package:-kenttä, jotta tiedostot päätyvät oikeaan paikkaan.

Ohjelman tulee ensin tulostaa näytölle kehote Enter numbers:. Sen jälkeen ohjelma lukee standardisyötevirrasta joukon lukuja. Luvut on annettava yhdellä rivillä välilyönneillä erotettuina. Luvut muunnetaan double-arvoiksi, ja lopuksi ohjelma tulostaa lukujen mediaanin muodossa “Median: x”, missä x on lukujen mediaani.

Mediaani on se luku, joka asettuu keskimmäiseksi, kun luvut järjestetään kasvavaan järjestykseen. Jos lukuja on parillinen määrä, on mediaani kahden keskimmäisen luvun keskiarvo.

Automaattiset sekä alla kuvatut testit olettavat, että teet projektitiedostoosi pom.xml seuraavat määritykset:

  • artifactId-elementin arvo on median.

  • version-elementin arvo on 1.0.

  • maven.compiler.source ja maven.compiler.target -elementtien arvo on 17 tai pienempi. Tarkistimella on asennettuna Java 17, joten tätä uudempaa versiota ei voi käyttää.

  • Onejar-liitännäisen määritys, jonka mainClass-elementti viittaa ohjelmasi pääluokkaan, jonka saat tässä tehtävässä nimetä vapaasti. Jos pääluokkasi on nimeltään esimerkiksi Median, on elementin arvo Median.

Esimerkki

Testeri kääntää ohjelmasi komennolla:

mvn package

Kääntämisen onnistuttua ohjelma ajetaan komennolla:

java -jar target/median-1.0.one-jar.jar

Ohjelma tulostaa näytölle kehotteen Enter numbers:, jonka jälkeen annetaan luvut, joista mediaani lasketaan. Ensimmäisessä testissä ne ovat:

58.03125 62.5 75.03125 25.03125 -39.9375 7 -38.75

Odotettu tuloste ensimmäisessä testissä on:

Enter numbers:
Median: 25.03125

Selitys: annetut luvut ovat kasvavassa järjestyksessä -39.9375, -38.75, 7, 25.03125, 58.03125, 62.5, 75.03125. Lukuja on 7 eli pariton määrä, jolloin mediaani on niistä keskimmäinen eli neljäs luku 25.03125.

Toisessa testissä annetut luvut ovat:

-37.5 -37.875 -87.9375 -41.5 100.125 53.0625 48.03125 -48

Nyt odotettu tuloste on:

Enter numbers:
Median: -37.6875

Selitys: annetut luvut kasvavassa järjestyksessä ovat -87.9375, -48, -41.5, -37.875, -37.5, 48.03125, 53.0625, 100.125. Lukuja on 8 eli parillinen määrä, ja kaksi keskimmäistä lukua ovat -37.875 ja -37.5. Mediaani on näiden keskiarvo (-37.875 + -37.5) / 2 = -37.6875.

Palautus

Varmista ennen palautusta, että tiedostosi ovat paikallisen tietovarastosi hakemistossa /round3/median/ ja että olet muistanut puskea kaikki muutokset henkilökohtaiseen etätietovarastoosi. Anna sitten alla olevaan kenttään henkilökohtaisen etätietovarastosi verkko-osoite, joka on muotoa https://course-gitlab.tuni.fi/compcs140-spring2024/------, missä ------ on Tuni-käyttäjätunnuksesi.

A+ esittää tässä kohdassa tehtävän palautuslomakkeen.