Java Training Course/Example Programs
All example Java programs can be obtained from a Git repository:
git clone https://github.com/gfis/jtc
Start with a greeting
- HelloWorld - one-liner: output a greeting
Arguments, assignment, elementary String and arithmetic operations
- StringAdd - concatenate argument strings 4 times and print them out
- IntAdd - add 4 integers 4 times and print them
- IntMultiply - multiply 4 integers 4 times and print the product
- LongMultiply - multiply 4 long numbers
Loops (while, for
) and conditions (if
), arrays ([]
)
- PowersOf2 - print the powers of 2
- PowersOf2Check - check for increasing sequence
- PowersOf2Backwards - print sequence backwards
- PowersOf2Array - print sequence from an array
Sequences of conditions with switch, if - then - else if ...
- Selamat - print a greeting depending on the hour
- SelamatSwitch - same with
switch ... case ... default
- SelamatSwitch - same with
- Number10 - print the numbers 1..10
- Number10Method - print the numbers using a class method
- Month - print the indonese name of a month
- Weekday - print the indonese name of a weekday
Sequences of words
- Word1 - print all words with 1 letter
- Word2 - print all words with 2 letters by 2 nested loops
- Word3 - print all words with 3 letters
- Word3Cond1 - print words with 3 letters and vowel/consonant conditions, first version
- Word3Cond2 - same, using a method, 2nd version
- Word3Cond3 - same, output on a single line, 3rd version
Filtering files
A filter program reads a file, modifies all lines somehow, and writes them to another file.
- Filter1 - read a file and replace the vowels in each line
- FilterNumber - read a file and replace all digits by their indonese number words
- FilterMulti3 - read the modified output of Word3Cond3 and colorize the known words
Date and Calendars
- Age - enter a birthday and compute the elapsed years, months ... seconds up to now
Fractional arithmetic
- GreatestCommonDivisor - the first real algorithm
- Ratio - introduction to object oriented programming (
static
version)- Rational - object with methods for mathematical operators for exact fractions
- RationalTestSwing, AboutRationalTest - GUI for the addition, subtraction, multiplication of two Rationals
Games
- PlayNim - play the Nim game with some number of sticks to be taken
- PlayNimState - improve clarity of program logic by using a Discrete Finite State Automaton (DFSA)
- PlayNimSwing, AboutPlayNim GUI for the Nim game
- ChessGame, ChessPlayer, ChessField, ChessPiece - interconnected set of classes for the display of a chess game using Unicode characters for the pieces
File Handling and Collections
- HexDump - hexadecimal dump of a file, maybe binary
- FilterURL - filter a file read from an URL (http://..., ftp://..., file://...)
- FilterTowns - read jtc/test/id_kota.lst with a list of indonesian towns, and extract the names and the number of inhabitants only
- SearchTown - store the town data in a HashMap, and look one up there
- SortTowns - store the town data in a TreeMap, and print a list sorted alphabetically by town name
- SearchAlice - read a text from an URL, for example Alice in Wonderland, collect and count the names therein, and print a sorted list
- WalkFileTree - run through a file directory with a subclass of FileVisitor and print the entries
Developper Information
- SystemProps - show the Java sysstem properties, the environment variables with their values, and the components of the system path
- TestRegex - input a Java regular expression and try to match test texts in a loop
- TestRegexSwing, AboutTestRegex - Swing GUI version thereof
Subclasses and Factories
- Shape - class defining common properties and methods for geometrical forms, with output as an SVG (scalable vector graphics) file
- ShapeFactory - Factory pattern returning an instance of a Shape
- Circle, Square, Triangle, Hexagon - implementation of specific Shapes and their SVG representation