Java Academy · Lektion

Test og udvidelser

Test med kanttilfælde, og tilføj små forbedringer. Hold eksemplerne enkle og lette at læse.

Lektion 3 af 38 trin

Test og udvidelser er en gratis Java Academy-lektion på CoddyKit. Dette er lektion 3 af 3. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Java Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Java Academy-kurset indeholder 3 lektioner i alt.

Hvorfor teste

Hvorfor teste? Små test opdager overraskelser tidligt. Vi begynder med enkle input og tilføjer kanttilfælde trin for trin.

Den normale sti

Prøv først en kort sætning med tydelige ord. Forvent, at de samlede antal stemmer overens, og at de hyppigste ord giver mening.

Kanttilfælde

Kanttilfælde: tom streng, kun mellemrum, kun tegnsætning, tal blandet med ord og gentagne mellemrum. Ingen af dem bør få programmet til at gå ned, og alle bør give meningsfulde antal.

Kontrol af normalisering

Brug en blanding af store og små bogstaver samt kommaer for at kontrollere normaliseringen. Efter konvertering til små bogstaver og oprydning bør Hello og HELLO tælle som det samme ord.

Små udvidelser

Små udvidelser: Ignorér meget korte ord som a eller an, vælg top N som en variabel, og udskriv ord med samme antal i vilkårlig rækkefølge. Hold ændringerne minimale og læsevenlige.

Kode: små test

Kør koden: Hvert eksempel udskriver samlede antal og antal unikke ord. Det hjælper med at kontrollere håndteringen af tom tekst, mellemrum, tegnsætning og blandede store og små bogstaver.

public class Main {
  public static void main(String[] args) {
    // Very small test set for beginners. Each case prints a short result.
    String[] samples = new String[] {
      "Hello world hello",
      "",                            // empty
      "   ",                         // spaces
      "Hello, HELLO, hello!",        // mixed case and punctuation
      "Numbers 1 2 3 and words",     // numbers and words
      "Only... punctuation!!!"       // punctuation only
    };

    for (int t = 0; t < samples.length; t = t + 1) {
      String text = samples[t];
      System.out.println("-- Case " + (t + 1) + " --");
      // 1) Lowercase
      String lower = text.toLowerCase();
      // 2) Replace non letters with spaces
      String cleaned = lower.replaceAll("[^a-z]+", " ");
      // 3) Split on spaces and filter empties
      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;
        // Optional tiny extension: skip one letter words like "a"
        if (w.length() == 1) continue;
        total = total + 1;
        Integer c = freq.get(w);
        if (c == null) freq.put(w, 1);
        else freq.put(w, c + 1);
      }

      // Print a very small summary (no top N here to keep it simple)
      System.out.println("Total words: " + total);
      System.out.println("Unique words: " + freq.size());
    }
  }
}

Test af normalisering

Hurtigt tjek: Hvilket input er bedst til at kontrollere normalisering af store og små bogstaver samt tegnsætning?

Opsummering

Opsummering: Vi testede normale forløb og kanttilfælde og tilføjede derefter små udvidelser som at springe etbogstavsord over. Hold eksemplerne korte og læsevenlige.

Gratis at komme i gang

Lær Java med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
104
Lektioner
374

Ofte stillede spørgsmål

Er lektionen “Test og udvidelser” gratis?

Ja — hele teksten til “Test og udvidelser” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Java Academy-kurset, skal du opgradere til CoddyKit PRO. Java Academy-kurset indeholder 3 lektioner i alt.

Hvad lærer jeg i “Test og udvidelser”?

Test med kanttilfælde, og tilføj små forbedringer. Hold eksemplerne enkle og lette at læse. Du øver dig i Java Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Java Academy?

Der kræves ingen tidligere erfaring. Java Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 3.

Hvor lang tid tager lektionen “Test og udvidelser”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Java Academy-lektion?

Ja. Alle Java Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Krav og design
  2. Implementering
  3. Test og udvidelser
← Tilbage til Java Academy