|
| |
JavaK |
Jou gratis hulpbron vir Java Kennis! |
ENGLISH |
|
| |
|
|
| |
Tuisblad
Kontak
Artikels
Projekte
Vrae en Antwoorde
Skakels
|
|
| |
|
|
| |
| Basiese invoer, afvoer en sortering. |
Die projek is tipies van 'n eenvoudige aanvangsprojek en maak gebruik van sleutelbord invoere (BufferedReader), 'n lus of
twee (for loops) asook 'n Array of wat. Die basiese idee is om 'n paar name in te lees en hulle dan in
'n volgorde te sorteer en weer op die skerm te vertoon. Die program maak gebruik van 'n baie eenvoudige
spyskaart (menu) om opsies aan die gebruiker te gee.
Tipes en objekte gebruik in die projek:
Die projek maak gebruik van die volgende Java tipes, objekte en funksies:
- Array
- BufferedReader
- for loop
- Integer.parseInt()
- Parameters to methods
- Sortering (sorting)
- String
- Switch case
- System.out
- try-catch
- while loop
Klasse in die projek:
Die projek maak gebruik van verskeie klasse. Hier is 'n kort lysie van elke klas en wat in
elkeen gedoen word.
| Hoof |
Die runner klas vir die hele program. Dit skep 'n nuwe objek
van die tipe Sorteer en roep dan die begin() metode. |
| Sorteer |
Die vleis van die program is hier. Alle invoere en afvoere word vanaf
die klas beheer. Dit skep 'n nuwe objek van die tipe SpysKaart wat verantwoordelik is vir
die vertoon van die spyskaart (menu) op die skerm. |
| Spyskaart |
Spyskaart teken die spyskaart op die skerm. Dit is 'n voorbeeld van
'n nuts-objek wat 'n basiese taak verrig en sodoende die hoof objek (Sorteer) eenvoudiger en makliker
maak om te lees. Dis 'n goeie idee om jou projekte ook in kleiner dele op te breek om hulle makliker
te maak om te ontfout. |
| Bronkode vir Hoof.java |
/**
* Runner for the Sorteer project.
*/
public class Hoof
{
public static void main (String args[])
{
Sorteer sorteerProgram = new Sorteer ();
sorteerProgram.begin ();
}
}
|
| Bronkode vir Spyskaart.java |
/**
* Util class.
* Displays the main menu on the default display device.
*/
public class Spyskaart
{
/**
* Displays the menu on the screen. First clears the screen.
*/
public void vertoonSpyskaart ()
{
clearScreen ();
System.out.println ("Spyskaart:");
System.out.println ("==========");
System.out.println ("");
System.out.println ("1. Voer name in.");
System.out.println ("2. Vertoon name.");
System.out.println ("3. Sorteer name.");
System.out.println ("4. Verlaat program.");
System.out.println ("");
System.out.print ("Jou keuse ? : ");
}
/**
* Clears the screen by writing 25 blank lines to the screen.
*/
private void clearScreen ()
{
for (int i = 0 ; i < 25 ; i++)
{
System.out.println ("");
}
}
}
|
| Bronkode vir Sorteer.java |
import java.io.*;
public class Sorteer
{
private Spyskaart spyskaart;
private BufferedReader br;
private String name[];
/**
* Constructor.
* Init used objects like spyskaart and br
*/
public Sorteer ()
{
name = new String [5];
spyskaart = new Spyskaart ();
br = new BufferedReader (new InputStreamReader (System.in));
}
/**
* Main loop for program.
* Displays the menu, gets input and calls the process methods.
* Loops until the user enters 4 as a choice.
*/
public void begin ()
{
int keuse = 0;
while (keuse != 4)
{
spyskaart.vertoonSpyskaart ();
keuse = kryKeuse ();
verwerkKeuse (keuse);
}
verlaatProgram ();
}
/**
* Reads the choice from the keyboard.
* Performs error trapping if an invalid choice is entered.
* Returns an integer value to the calling method.
*/
private int kryKeuse ()
{
int inKeuse = 0;
try
{
String inputstr = br.readLine ();
inKeuse = Integer.parseInt (inputstr);
}
catch (Exception e)
{
return -1;
}
return inKeuse;
}
/**
* Reads a string from the keyboard.
*/
private String kryNaam ()
{
String input = "";
try
{
input = br.readLine ();
}
catch (Exception e)
{
return "";
}
return input;
}
/**
* Exits the programe.
*/
private void verlaatProgram ()
{
System.out.println ("\n\nTotsiens!\n");
}
/**
* Processes the choice made.
*/
private void verwerkKeuse (int gekies)
{
geeSpasie ();
switch (gekies)
{
case 1:
voerNameIn ();
break;
case 2:
vertoonName ();
break;
case 3:
sorteerName ();
break;
default:
break;
}
}
/**
* Creates a gap between the menu and any output.
*/
private void geeSpasie ()
{
System.out.println ("\n");
}
/**
* Inputs the names.
*/
private void voerNameIn ()
{
for (int i = 0 ; i < 5 ; i++)
{
System.out.print ("Gee asseblief naam no " + (i+1) + ": ");
name [i] = kryNaam ();
}
}
/**
* Displays the names on the screen.
* Tests if the names have been entered yet.
*/
private void vertoonName ()
{
if (name [0] != null)
{
for (int i = 0 ; i < 5 ; i++)
{
System.out.println (name [i]);
}
}
else
{
System.out.println ("Oeps!! Sleutel eers 'n paar name in asseblief...");
}
wag ();
}
/**
* Sorts the names.
* Quick and dirty little sort for small arrays.
*/
private void sorteerName ()
{
if (name [0] != null)
{
for (int i = 0 ; i < 5 ; i++)
{
for (int j = i ; j < 5 ; j++)
{
if (name [i].compareToIgnoreCase (name [j]) > 0)
{
String tmp = name [j];
name [j] = name [i];
name [i] = tmp;
}
}
}
System.out.println ("Klaar.");
}
else
{
System.out.println ("Oeps!! Sleutel eers 'n paar name in asseblief...");
}
wag ();
}
/**
* Waits for any input from the user.
*/
private void wag ()
{
System.out.println ("\nDruk ENTER om aan te gaan.");
try
{
br.readLine ();
}
catch (Exception e)
{
}
}
}
|
Nie genoeg nie ? Laat ons weet indien jy meer oor die spesifieke projek wil weet.
Die Skrywer
Hierdie artikel is geskryf deur Ewald Horn en word gratis gehuisves deur JavaK. Besoek gerus vir www.javak.co.za vir meer
artikels deur Ewald Horn. Die skrywer se tuisblad is te vinde by www.nofuss.co.za.
|
JavaK is 'n gratis webwerf wat Java studente voorsien van voorbeelde, verduidelikings
asook bronkode vir gebruik in hulle huiswerk en skooltake. Die webwerf word geborg deur
NoFuss Solutions, 'n Java opleidings en ontwikkelings-diensverskaffer
in die Boland area.
|
|
|
|