Vaatimukset ja suunnittelu
Määritelkää ongelma, syötteet ja tulosteet, rajoitteet sekä yksinkertainen suunnitelma sanatilastotyökalulle.
Vaatimukset ja suunnittelu on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 3 oppituntia.
Projektin tavoite
Tavoite: Rakentaa pieni työkalu, joka raportoi sanojen perustilastoja. Teksti tokenisoidaan, sanat normalisoidaan, esiintymistiheydet lasketaan ja yleisimmät tulokset näytetään.
Syötteet ja tulosteet
Syöte: lyhyt tekstimerkkijono, joka on toistaiseksi kovakoodattu. Tuloste: sanojen kokonaismäärä, yksilöllisten sanojen määrä sekä N yleisintä sanaa esiintymismäärineen.
Normalisointisäännöt
Normalisointi: Muunna teksti pieniksi kirjaimiksi ja poista välimerkit. Jaa teksti muiden kuin kirjainten kohdalta, jotta tokenit ovat siistejä ja keskenään vertailukelpoisia.
Laskentastrategia
Laskenta: Liitä kukin sana esiintymistiheyteen. Javassa yksinkertainen HashMap, joka yhdistää String-arvot Integer-arvoihin, on selkeä ja riittävä ensimmäiseen versioon.
Raportointisuunnitelma
Raportointi: Tulosta kokonaismäärät ja N yleisintä sanaa, esimerkiksi kolme yleisintä sanaa. Tasatilanteissa järjestyksellä ei ole merkitystä. Pidä tuloste yksinkertaisena.
Prototyyppi: pieni suoritus
Prototyyppi: muunna teksti pieniksi kirjaimiksi, poista välimerkit, jaa teksti osiin, laske esiintymät ja tulosta kolme yleisintä sanaa. Teksti on toistaiseksi kovakoodattu, ja tuloste pidetään helposti luettavana.
public class Main {
public static void main(String[] args) {
// Prototype: hard coded text, normalize, count, and print simple stats.
String text = "To be, or not to be: that is the question. To be or not?";
// 1) Lowercase
String lower = text.toLowerCase();
// 2) Replace non letters with spaces for splitting
String cleaned = lower.replaceAll("[^a-z]+", " ");
// 3) Split on spaces and filter empty tokens
String[] tokens = cleaned.trim().split("\\s+");
java.util.Map<String, Integer> freq = new java.util.HashMap<>();
int total = 0;
for (int i = 0; i < tokens.length; i = i + 1) {
String w = tokens[i];
if (w.length() == 0) continue;
total = total + 1;
Integer c = freq.get(w);
if (c == null) freq.put(w, 1);
else freq.put(w, c + 1);
}
// Simple top 3 by repeated linear scan (fine for small texts)
for (int k = 0; k < 3; k = k + 1) {
String bestWord = null;
int bestCount = -1;
for (java.util.Map.Entry<String,Integer> e : freq.entrySet()) {
String word = e.getKey();
int count = e.getValue();
if (count > bestCount) {
bestCount = count;
bestWord = word;
}
}
if (bestWord == null) break;
System.out.println("#" + (k + 1) + " " + bestWord + " = " + bestCount);
// mark as used
freq.put(bestWord, -1000000);
}
System.out.println("Total words: " + total);
System.out.println("Unique words: " + (freq.size()));
}
}
Suunnittele ensin
Pikatarkistus: Mikä vaihe pitäisi tehdä ensimmäisenä tätä pientä projektia suunniteltaessa?
Kertaus
Kertaus: Rajaus määritettiin, syötteet ja tulosteet määriteltiin, säännöt asetettiin, laskentaan valittiin yksinkertainen kartta ja suunnitelma varmistettiin pienellä suorituksella.
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”Vaatimukset ja suunnittelu” ilmainen?
Kyllä – oppitunnin ”Vaatimukset ja suunnittelu” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Vaatimukset ja suunnittelu”?
Määritelkää ongelma, syötteet ja tulosteet, rajoitteet sekä yksinkertainen suunnitelma sanatilastotyökalulle. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/3.
Kuinka kauan ”Vaatimukset ja suunnittelu”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Vaatimukset ja suunnittelu
- Toteutus
- Testaus ja laajennukset