Java Training Course/Example Programs: Difference between revisions
Jump to navigation
Jump to search
imported>Gfis No edit summary |
imported>Gfis Collections |
||
Line 2: | Line 2: | ||
git clone https://github.com/gfis/jtc | git clone https://github.com/gfis/jtc | ||
===Start with a greeting=== | ===Start with a greeting=== | ||
* '''HelloWorld''' - output | * '''HelloWorld''' - one-liner: output a greeting | ||
===Arguments, assignment, elementary String and arithmetic operations=== | ===Arguments, assignment, elementary String and arithmetic operations=== | ||
* '''StringAdd''' - concatenate argument strings 4 times and print them out | * '''StringAdd''' - concatenate argument strings 4 times and print them out | ||
Line 24: | Line 24: | ||
* '''Word2''' - print all words with 2 letters by 2 nested loops | * '''Word2''' - print all words with 2 letters by 2 nested loops | ||
* '''Word3''' - print all words with 3 letters by 3 nested loops | * '''Word3''' - print all words with 3 letters by 3 nested loops | ||
* '''Word3Cond1''' - print words with 3 letters and vowel/consonant conditions, first version | ** '''Word3Cond1''' - print words with 3 letters and vowel/consonant conditions, first version | ||
* '''Word3Cond2''' - same, using a method, 2nd version | ** '''Word3Cond2''' - same, using a method, 2nd version | ||
* '''Word3Cond3''' - same, output on a single line, 3rd version | ** '''Word3Cond3''' - same, output on a single line, 3rd version | ||
===Filtering files=== | ===Filtering files=== | ||
A ''filter'' program reads a file, modifies all lines somehow, and writes them to another file. | A ''filter'' program reads a file, modifies all lines somehow, and writes them to another file. | ||
Line 37: | Line 37: | ||
* '''GreatestCommonDivisor''' - the first real algorithm | * '''GreatestCommonDivisor''' - the first real algorithm | ||
* '''Ratio''' - introduction to object oriented programming (<code>static</code> version) | * '''Ratio''' - introduction to object oriented programming (<code>static</code> version) | ||
* '''Rational''' - object with methods for mathematical operators for exact fractions | ** '''Rational''' - object with methods for mathematical operators for exact fractions | ||
* '''RationalTestSwing, AboutRationalTest''' - GUI for the addition, subtraction, multiplication of two ''Rational''s | ** '''RationalTestSwing, AboutRationalTest''' - GUI for the addition, subtraction, multiplication of two ''Rational''s | ||
===Games=== | ===Games=== | ||
* '''PlayNim''' - play the Nim game with some number of sticks to be taken | * '''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 | ** '''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 [https://www.gutenberg.org/files/11/11-0.txt 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 |
Revision as of 06:57, 28 November 2017
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
- 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 by 3 nested loops
- 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