Würfeln und Namensliste
Die Liste der Würfelnamen ist als Klassenattribut (static) ausgeführt - es muss kein Objekt erzeugt werden. Mittels Inspect kann die Speicherstruktur betrachtet werden.
Wuerfeln |
---|
wName[]:Text = {"eins","zwei","drei","vier","fuenf",sechs"} |
wuerfeln():GZ wuerfelnName() ausgebenNamen() |
- wuerfeln() gibt Werte von 1..6 zurück
- wName[] enthält die Texte zu den Zahlen
Den Inspektor nutzen, um die Datenstruktur zu betrachten
- wName verweist auf eine Liste (Feld, Array) von Textobjekten.
- Die Anzahl der Objekte lässt sich mit length bestimmen.
- Der Indexbereich von wName geht von 0..5
- wName[0] hat den Wert "eins"
public class Wuerfeln{ static String[] wName={"eins","zwei","drei", "vier","fuenf","sechs"}; static int wuerfeln(){ // Zufall von 1..6 erzeugen return (int) (Math.random()*6) +1; } static void wuerfelnName(){ // ausgeben System.out.println(wName[wuerfeln()-1]); } static void ausgebenNamen(){ int i; for(i=0;i<wName.length;i++){ System.out.println(wName[i]); } } }

Mehrsprachige Texte mit zweidimensionalem Feld
public class WuerfelnMultilingual{ static String[][] wName = {{"eins","zwei","drei","vier","fuenf","sechs"}, {"one","two","three","four","five","six"}}; static String[] sprachName = {"deutsch","english"}; static int sprache = 0; static void ausgebenSprachen(){ int i; for(i=0;i<sprachName.length;i++){ System.out.println(i+": "+sprachName[i]); } } static void einstellenSprache(int n){ if (n<0 || n>= sprachName.length){ System.out.println("Sprache ist nicht vorhanden: "+n); } else{ sprache = n; System.out.println("Eingestellte Sprache: "+sprachName[n]); } } static int wuerfeln(){ // Zufall von 1..6 erzeugen return (int) (Math.random()*6) +1; } static void wuerfelnName(){ // ausgeben System.out.println(wName[sprache][wuerfeln()-1]); } static void ausgebenNamen(){ int i; for(i=0;i<wName.length;i++){ System.out.println(wName[sprache][i]); } } }
Listen von Listen ergeben zweidimensionales Feld. Hier eine Liste für Deutsch und Englisch.
Erstellen Sie ein Klassendiagramm.
Erweitern Sie das Programm um eine weitere Sprache.
Erweitern Sie das Programm um mehrsprachige Meldungen z.B.: "Language is not available"
Würfelwerte als Bilder ausgeben
public class WuerfelnBilder{ static String[][] bilder = {{" ","* "," *","* *","* *","* *"}, {" * "," "," * "," "," * ","* *"}, {" "," *","* ","* *","* *","* *"}, }; static int wuerfeln(){ // Zufall von 1..6 erzeugen return (int) (Math.random()*6) +1; } static void info(){ System.out.println("Das Feld hat "+bilder.length+ " Zeilen und " + bilder[0].length +" Spalten"); } static void ausgebenBild(int n){ int i; for(i=0;i<bilder.length;i++){ System.out.println(bilder[i][n]); } } static void wuerfelnBild(){ ausgebenBild(wuerfeln()-1); } }
public class WuerfelnBilderGrossAufgabe{ static String[][] bilderGross = {{" ------------- "," ------------- "," ------------- "," ------------- "," ------------- "," ------------- "}, {"| |","|### |","| ###|","|### ###|","|### ###|","|### ###|"}, {"| |","|### |","| ###|","|### ###|","|### ###|","|### ###|"}, {"| |","| |","| |","| |","| |","| |"}, {"| ### |","| |","| ### |","| |","| ### |","|### ###|"}, {"| ### |","| |","| ### |","| |","| ### |","|### ###|"}, {"| |","| |","| |","| |","| |","| |"}, {"| |","| ###|","|### |","|### ###|","|### ###|","|### ###|"}, {"| |","| ###|","|### |","|### ###|","|### ###|","|### ###|"}, {" ------------- "," ------------- "," ------------- "," ------------- "," ------------- "," ------------- "}}; static int wuerfeln(){ // Zufall von 1..6 erzeugen return (int) (Math.random()*6) +1; } static void ausgebenBildgross(int n){ // Aufgabe } static void ausgebenAlleBildergross(){ // Aufgabe } static void wuerfelnBild(){ // Aufgabe } }
Zahlen gross ausgeben
Für ein Terminal soll eine vergrösserte Zahlenausgabe entwickelt werden,
nach Eingabe einer Zahl n wird sie mit '#' dargestellt ausgegeben.
Hier ein Beispiel:
### ### # # # # # ## ## ### # # # #### ### #
public class ZahlenAufgabe{ static String ziffern[][]= {{" ## "," #","### ","### ","# ","####"," # ","####"," ## "," ## "}, {"# #"," #"," #"," #","# #","# "," # "," #","# #","# #"}, {"# #"," #"," ## "," ## "," ###","### ","### "," # "," ## "," ###"}, {"# #"," #","# "," #"," #"," #","# #"," # ","# #"," # "}, {" ## "," #","####","### "," #","### "," ## ","# "," ## "," # "}}; static void anzeigenAlleZiffern(){ int i,j; for (i=0;i<5;i++){ // fuer jede Zeile for (j=0;j<10;j++){ // fuer jede Zahl System.out.print(ziffern[i][j]+" "); // den String ausgeben } System.out.println(); } } static void ausgebenZahl(int n){ int i,j; int zahl[]= new int[10]; // Array fuer die Zerlegung in einzelne Ziffern int stellen=0; // Anzahl der Stellen der eingegebenen Zahl while (n > 0){ // solange noch Ziffern vorhanden // Aufgabe } for (i=0;i<5;i++){ // Ausgabe der Zahl, fuer jede Zeile // Aufgabe } } }