- COMP.CS.140
- 3. Java ohjelmointikielenä
- 3.2 ⌛ Mediaani
⌛ 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 onmedian
.version
-elementin arvo on1.0
.maven.compiler.source
jamaven.compiler.target
-elementtien arvo on17
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 esimerkiksiMedian
, on elementin arvoMedian
.
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-fall2023/------
,
missä ------
on Tuni-käyttäjätunnuksesi.
A+ esittää tässä kohdassa tehtävän palautuslomakkeen.