# Java Notes

# Example: Count Bad Words

Your grandmother has learned to program in Java, and one of the first things she wants to do is search thru the grandchildren's email to make sure they aren't using any "bad" words. She doesn't know how to read a file yet, so she's going to test her ideas with this little program that just reads one line of text with a dialog box. It counts the number of bad words that it finds and displays that number.

      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
    // File   : examples-dialog/BadLanguage.java
    // Purpose: Check to see if a string contains word "gosh".
    // Author : Grandma
    // Date   : 20 Apr 2005

    import javax.swing.*;

    public class BadLanguage {

        static final String PROMPT = "Enter a phrase and I'll check the language.";

        public static void main(String[] args) {

            String phrase = JOptionPane.showInputDialog(null, PROMPT);

            if (phrase != null) {   // It will be null if user hit CANCEL.

                int goshCount = 0;  // How many times that word occurred.

                //... Look at all 4-character substrings, but don't go
                //      beyond the end when using substring.
                for (int pos = 0; pos < phrase.length()-3; pos++) {

                    String fourLetters = phrase.substring(pos, pos+4);

                    if (fourLetters.equalsIgnoreCase("gosh")) {
                        goshCount++;
                    }
                }

                //... Display the results.
                JOptionPane.showMessageDialog(null,
                     "That unspeakable word occurred " + goshCount + " time(s).");
            }
        }
    }