Java Training Course/Example Programs: Difference between revisions

From tehowiki
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 only
* '''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)
** '''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