Java Notes Prev: Java Example: Dialog: Take me to your leader

Java Example: Dialog: Capitalize

This program reads a word, makes the first letter upper case and the remainder lower case, and outputs it. The input-process-output organization is very common in simple programs.

input dialog box input dialog box

  1 
  2 
  3 
  4 
  5 
  6 
  7 
  8 
  9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
// File   : dialog/capitalize/Capitalize2.java
// Purpose: Make first letter upper case, remainder lower case.
//          Uses traditional input-process-output organization.
// Author : Fred Swartz
// Date   : 30 Mar 2006

import javax.swing.*;

public class Capitalize2 {

    public static void main(String[] args) {
        //.. Input a word
        String inputWord = JOptionPane.showInputDialog(null, "Enter a word");

        //.. Process - Separate word into parts, change case, put together.
        String firstLetter = inputWord.substring(0,1);  // Get first letter
        String remainder   = inputWord.substring(1);    // Get remainder of word.
        String capitalized = firstLetter.toUpperCase() + remainder.toLowerCase();

        //.. Output the result.
        JOptionPane.showMessageDialog(null, capitalized);
    }
}

Error handling - Happy Trails

This is a Happy Trails program, one that doesn't worry about bad input. What could be bad? It wouldn't work if the empty string (string with zero characters in it) was used as input, or the Cancel button or the close box was clicked. In later programs we'll add code to handle these cases.

Where to declare local variables: at beginning or at first use?

Local variables can be declared anywhere before they are used. There are two styles of declaration.

Clarity first. Use whichever style makes the program clearer for you, or whichever style your instructor requires. Most of my programs use the declare-at-first-use style.

Same program with variables declared at beginning.

  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 
// File   : examples-dialog/Capitalize.java
// Purpose: Capitalize program style variation.
//          Variables declared at beginning.
// Author : Fred Swartz
// Date   : 09 Oct 2005

import javax.swing.*;

public class Capitalize {

    public static void main(String[] args) {
        //.. Local variable declarations.
        String inputWord;   // Input will be read into this variable.
        String firstLetter; // Assigned the first letter of the input.
        String remainder;   // Gets everything after the first letter.
        String capitalized; // Put the correct cased parts together.

        //.. Input a word
        inputWord = JOptionPane.showInputDialog(null, "Enter a word");

        //.. Process - Separate word into parts, change case, put together.
        firstLetter = inputWord.substring(0,1);  // Get first letter
        remainder   = inputWord.substring(1);    // Get remainder of word.
        capitalized = firstLetter.toUpperCase() + remainder.toLowerCase();

        //.. Output the result.
        JOptionPane.showMessageDialog(null, capitalized);
    }
}