Methoden Arrays und Vektoren, Spiel und Calendar in JAVA

KaTo96

Mitglied
AUFGABE 2
Schreiben Sie ein einfaches "17 und 4" Spiel, bei dem der Spieler entscheiden kann, ob
er eine weitere zufallige Karte ziehen mochte oder nicht. Gehen Sie dabei wie folgt vor:
Erzeugen Sie als Klassenvariable jeweils ein Array fur die Reprasentation der Symbole
und Farben eines Skat-Kartenblattes und weisen Sie die entsprechendenWerte
zu.
Importieren Sie java.util.Random in Ihrer Klasse, initialisieren Sie
den Zufallszahlengenerator in der main-Methode Ihres Programms mit
Random randomGenerator = new Random() und erzeugen Sie zwei
Zufallszahlen im Wertebereich der beiden Klassenvariablen mittels
randomGenerator.nextInt() .
Geben Sie aus, welche zufallige Karte gezogen wurde.
Berucksichtigen Sie nun zusatzlich noch den Spielwert der gezogenen Karte (Zahlkarten
entsprechen ihrem Wert, Buben einer 2, Damen einer 3, Konige einer 4
und Asse einer 11). Erganzen Sie den Kartenwert bei Ihrer Ausgabe. Nutzen Sie
dazu entweder eine weitere Klassenvariable, die den Wert der Kartensymbole widerspiegelt,
oder fuhren Sie auf Basis des Kartensymbols eine Fallunterscheidung
durch.
Erweitern Sie Ihr Programm um eine Eingabe, durch die der Nutzer wahlen kann,
ob er eine weitere Karte ziehen mochte oder nicht. Wiederholen Sie diese Abfrage
so lange, bis der Nutzer keine Karte mehr ziehen mochte.
Addieren Sie bei jeder gezogenen Karte den Kartenwert auf eine Gesamtsumme, die
sie dem Nutzer bei jeder gezogenen Karte ausgeben. Geben Sie
"Leider verloren!" aus, wenn die Gesamtsumme uber 21 liegt und lassen Sie keine weiteren Eingaben
mehr zu.
Beschreiben Sie die wichtigen Aktionen Ihres Programms mit aussagekraftigen Kommentaren
und laden Sie die lauahige Java-Datei im Anschluss in das GATE-System
hoch.

AUFGABE 2
Erstellen Sie ein einfaches Programm, welches zahlt, wie haug ein "Freitag, der 13." in
einem Jahr vorkommt und ausgibt, wann diese sind. Gehen Sie dabei wie folgt vor:
Importieren Sie java.util.Calendar , initialisieren Sie ein Calendar-Objekt mittels
Calendar.getInstance() und geben Sie den Wert des Calendar-Objektes
aus.
Importieren Sie java.text.DateFormat und java.text.SimpleDateFormat
und nutzen Sie diese, um ein Datumsformat der Form Freitag, der 13.05.2016
zu erzeugen. Recherchieren Sie dazu auf http://openbook.rheinwerk-verlag.
de/javainsel9/javainsel_15_007.htm nach den zur Verfugung stehenden Formatierungsm
oglichkeiten. Formatieren Sie damit das aktuelle Datum und geben
Sie es aus.
Importieren Sie java.util.Vector und erzeugen Sie einen Vektor, der Elemente
vom Typ String speichern kann.
Recherchieren Sie auf http://docs.oracle.com/javase/8/docs/api/java/
util/Calendar.html, wie Sie das Datum des Kalenders auf einen anderen Tag
setzen konnen. Erganzen Sie in Ihrem Programm eine Schleife, die alle Monate
eines Jahres durchlauft. Nutzen Sie diese Schleife, um das Datum des Kalenders
jeweils auf den 13. jeden Monats eines bestimmten Jahres zu setzen und geben Sie
das jeweilige formatierte Datum aus.
Erganzen Sie eine Bedingung, die an den Vektor immer dann ein neues formatiertes
Datum anhangt, wenn es sich bei dem Tag des Kalenders um einen Freitag handelt.
Recherchieren Sie gegebenenfalls auf http://docs.oracle.com/javase/8/docs/
api/java/util/Vector.html zur Verwendung eines Vektors.
Geben Sie, nachdem die Schleife durchlaufen wurde, aus, wie viele Freitage auf
einen 13. fallen.
Nutzen Sie nun die kurze for -Schleife, um alle Elemente des Vektors auszugeben.
Freiwillige Zusatzaufgabe: Erweitern Sie Ihr Programm so, dass es die Anzahl
und Freitage, die auf einen 13. fallen, fur die Jahre 2016 bis 2100 ausgibt.
Beschreiben Sie die wichtigen Aktionen Ihres Programms mit aussagekraftigen Kommentaren
und laden Sie die lauahige Java-Datei im Anschluss in das GATE-System
hoch.
 

KaTo96

Mitglied
Bei Aufgabe 1 komme ich da nicht weiter:
erzeugen Sie zwei
Zufallszahlen im Wertebereich der beiden Klassenvariablen mittels
randomGenerator.nextInt() .

Bei Aufgabe zwei komme ich hier nicht weiter:
Recherchieren Sie aufhttp://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html, wie Sie das Datum des Kalenders auf einen anderen Tag
setzen konnen. Erganzen Sie in Ihrem Programm eine Schleife, die alle Monate
eines Jahres durchlauft.
 
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Bei Aufgabe 1 komme ich da nicht weiter:
erzeugen Sie zwei
Zufallszahlen im Wertebereich der beiden Klassenvariablen mittels
randomGenerator.nextInt() .

Laut Aufgabe 1 sollen 2 Arrays erzeugt werden. Ein Array stellt die Farben der Karten da (länge = 4), das andere Array entspricht den einzelnen Karten einer Farbe vom Wert 2 bis Wert Ass (Länge = 13)
Dann soll auch noch ein "RandomGenerator" erzeugt werden (wie man das macht steht in der Angabe schon drinnen) und mittels diesem Generator sollen 2 zufällige Werte generiert werden um einen Wert aus dem Farben Array und einen Wert aus dem Kartenwert Array zu holen.
=> der generator generiert 2 int werte, diese entsprechen dem Index für das jeweilige Array.

Bei Aufgabe zwei komme ich hier nicht weiter:
Recherchieren Sie aufhttp://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html, wie Sie das Datum des Kalenders auf einen anderen Tag
setzen konnen. Erganzen Sie in Ihrem Programm eine Schleife, die alle Monate
eines Jahres durchlauft.

Laut der Aufgabe soll ein Objekt der Klasse Calendar erzeugt werden (wie steht 1:1 in der Aufgabenbeschreibung drinnen). Diese Objekt hat ganz normale Attribute, welche ein Datum repräsentieren.
Du sollst mit Hilfe der Dokumentation der Klasse Calendar (dorthin führt dieser Link) eine Möglichkeit finden diese Datum zu ändern (sprich die Werte der Attribute anzupassen).
Danach sollst du noch eine Schleife implementieren welche alle Monate durchgeht. Da es bei dem Program um Freitag den 13. geht nehme ich an soll die Schleife im 1.Durchlauf kontrollieren ob der 13.1 ein Freitag ist, im 2.Durchlauf ob der 13.2 ein Freitag ist usw.


Solange du uns keine Code"basis" gibst was du bisher hast können wir dir nur helfen die Aufgabe zu verstehen.
 

KaTo96

Mitglied
zu aufgabe zwei habe ich mir das bisher so in der art gedacht:

Java:
import java.util.Random;

public class Spiel {
 
    public static String[i] Symbol={"7", "8", "9", "10", "B", "D", "K", "A"};
    public static String[j] Farbe={"karo","herz", "pik", "kreuz"};
        public static void main(String[] args) {

            Random randomGenerator = new Random();

            int i=randomGenerator.nextInt(7);
            int j =randomGenerator.nextInt(3);
            System.out.println(Symbol[i] + Farbe[j]);
        }
}
 
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Von der Logik her schaut es richtig aus. Einzig das die Werte 2-6 fehlen ...
Aber von der Syntax ist es falsch! Hier dürften dir Java Grundlagen fehlen (diese können wir dir nicht beibringen).

Auch könntest du deinen Code auch gleich in einer IDE umsetzen und ausprobieren (geht schneller als hier im Forum auf eine Antwort zu warten)
 

Oben