Java Training Course/Example Programs
During the training course we developped about 60 Java example programs which use the Java language features to be learned. These programs can all be obtained from the Git repository for the training course by the command:
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
Team collaboration
- CheckIBAN - compute and check the checkdigits of an International Bank Account Number,
- CheckIBANFilter - check a text file with many IBANs
- CheckIBANSwing - GUI for checking a single IBAN