Du arbejder som programmør for en bogklub, der ønsker at analysere anmeldelser af bøger skrevet af medlemmerne. Bogklubben har samlet en stor mængde tekstdata fra anmeldelser og ønsker at få indsigt i, hvilke ord der bruges hyppigst i disse anmeldelser. Denne indsigt kan hjælpe med at forstå medlemmernes præferencer og fokusområder, samt identificere almindelige temaer i anmeldelserne.
Du har fået udleveret et grundlæggende program, der læser en tekstfil og tæller forekomsten af hvert ord. Programmet er dog ikke fuldstændigt og kan indeholde fejl. Din opgave er at rette programmet, så det fungerer korrekt og opfylder kravene. 
Forstå og forklar koden:
Rens teksten:
Tæl ordene:
Forbedr koden:
String[] words;
int[] counts;
int uniqueWords;
void setup() {
size(800, 600);
background(255);
// Angiv stien til din tekstfil her
String[] lines = loadStrings("Tekst.txt");
String text = join(lines, " ");
// Rens tekst og tæller ord
text = cleanText(text);
countWords(text);
// Udskriv resultaterne
printWordCount();
}
String cleanText(String text) {
// Fjern tegnsætning og gør teksten til små bogstaver
text = text.toLowerCase();
text = text.replaceAll("[^a-zA-Z0-9\\s]", "");
return text;
}
void countWords(String text) {
words = new String[1000];
counts = new int[1000];
uniqueWords = 0;
String[] allWords = splitTokens(text, " ");
for (String word : allWords) {
int index = findWord(word);
if (index == -1) {
words[uniqueWords] = word;
counts[uniqueWords] = 1;
uniqueWords++;
} else {
counts[index]++;
}
}
}
int findWord(String word) {
for (int i = 0; i < uniqueWords; i++) {
if (words[i].equals(word)) {
return i;
}
}
return -1;
}
void printWordCount() {
int y = 20; // Startposition for tekstudskrivning
for (int i = 0; i < uniqueWords; i++) {
fill(0);
text(words[i] + ": " + counts[i], 10, y);
y += 20;
}
}
Du sidder og roder med en æske tændstikker og begynder at placere dem i et fint mønster. For hver tom ende ligger du en ny tændstik på tværs. Dvs. hvis der ligger to tændstikker i forlængelse af hinanden så skal der kun ligges tændstikker i hver af enderne og ikke imellem de to.