Hallo zusammen,
Ich habe aktuell die Hausaufgabe in Informatik ein Programm bzw. Spiel zu schreiben welches Aufgaben zum kleinen 1*1 stellt.
Da ich etwas Langeweile hatte habe ich das Programm etwas erweitert. Da es mein erstes Programm ist gibt es mit Sicherheit einiges zu verbessern oder zu vereinfachen. Vielleicht hat ja jemand Lust und Zeit sich den Code mal anzuschauen und mir eventuell Tipps zu geben
Hier der Code:
Ich habe aktuell die Hausaufgabe in Informatik ein Programm bzw. Spiel zu schreiben welches Aufgaben zum kleinen 1*1 stellt.
Da ich etwas Langeweile hatte habe ich das Programm etwas erweitert. Da es mein erstes Programm ist gibt es mit Sicherheit einiges zu verbessern oder zu vereinfachen. Vielleicht hat ja jemand Lust und Zeit sich den Code mal anzuschauen und mir eventuell Tipps zu geben
Hier der Code:
Java:
import java.io.*; // Importiert die io Methoden, für die Eingabe.
import java.util.*; // Importiert die until Methoden, für die Ausgabe bzw. erstellung zufälliger Zahlen.
/**
* Ein Programm um Aufgaben zum kleinem 1*1 zu berechnen.
*/
public class KleinesEinMalEins
{
public void main() throws IOException
{
int [] ErgebnissSpeicher; // Array welches die Ergebnisse Speichert wird definiert.
ErgebnissSpeicher = new int [100000];
int[] Mtspeicher; // Array welches den Wert vom Multiplikant Speichert wird definiert.
Mtspeicher = new int [100000];
int [] Mdspeicher; // Array welches den Wert vom Multiplikator Speichert wird definiert.
Mdspeicher = new int [100000];
String [] RoF; // Array welches speichert ob die Eingabe des Benutzer Richtig oder Falsch war.
RoF = new String [100000];
int [] BenutzerEingabe; // Array welches die Eingabe des Benutzer speichert.
BenutzerEingabe = new int [100000];
int AufgabenZähler=1; // Zählervariable für die Ausgabe, der richtigen Ergebnisse.
int Ergebniss; // Ergebnis der Mal-Aufgabe.
int grenze=1; // Kontrolliert die Runden, wenn grenze=g ist gibt es eine neue Runde.
int Rundenazahl=1; // Einfacher Runden zähler.
int Multiplikator; // Kriegt später einen Zufälligen Wert zugewiesen.
int Multiplikand; // Kriegt später ebenfalls einen Zufälligen Wert zugewiesen.
Random zufall = new Random(); // Die Variable "zufall" kann nun zufällige Werte anehmen.
int Anzahl= ErgebnissSpeicher.length; // Greift die länge des Arrays ErgebnissSpeicher ab.
java.util.Scanner input = new java.util.Scanner(System.in); // Die Eingabe durch einen Scanner wird ermöglicht.
System.out.println ("Willkommen beim kleinem 1*1 Spiel, geben sie eine 1 ein um zu starten."); // Spielstart Ausgabe.
System.out.println ("Mit der Eingabe der Zahl 0 beenden sie das Spiel.");
int start;
start = input.nextInt(); // Der Nutzer wird aufgefordert eine 1 einzugeben welche in der Variablen start gespeichert wird.
if (start<1 || start>1)
{ System.out.println ("Bitte geben sie die Zahl 1 ein um zu beginnen"); // Falsche Eingabe, Nutzer wird erneut aufgefordert 1 einzugeben.
}
if(start==1) // Wenn die Eingabe 1 ist, startet das Spiel.
{
for(int g=1;g==grenze;g++)
{ int Score=0; // Zählt den Score.
for(int i=1;i<Anzahl;i++) // i = Aufgabe, heißt bei der 7.Aufgabe ist i=7.
{
Ergebniss=0;
Multiplikator = zufall.nextInt(10)+1; // Der Multiplikator bekommt hier einen zufälligen Wert zwischen 1-10 zugewiesen.
Multiplikand = zufall.nextInt(10)+1; // Der Multiplikand bekommt hier einen zufälligen Wert zwischen 1-10 zugewiesen.
Ergebniss=Multiplikator*Multiplikand; // Die Berechnung der Aufgabe erfolgt.
ErgebnissSpeicher[i]=Ergebniss; // Hier wird das Ergebniss im Array eingetragen.
Mtspeicher[i]=Multiplikator; // Hier wird der Multiplikator in den Array eingetragen.
Mdspeicher[i]=Multiplikand; // Hier wird der Multiplikand in den Array eingetragen.
System.out.println("Löse folgende Aufgabe: ");
System.out.println(Multiplikator+" * "+Multiplikand+ " ergibt: "); // Ausgabe der Aufgabenstellung.
int EingabeBenutzer;
EingabeBenutzer = input.nextInt(); // Eingabe des Ergebniss erfolgt und wird in der Variable str gespeichert.
BenutzerEingabe[i]=EingabeBenutzer; // Eingabe des Benutzers wird im Array gespeichert.
if(EingabeBenutzer==Ergebniss)
{
System.out.println("Diese Aufgabe hast du richtig gelöst. Super!"); // Die Ausgabe, wenn das eingegebene Ergebniss richtig ist.
System.out.println();
RoF[i]="Richtig";
Score++; // Der Score zählt um einen Hoch, da das Ergebniss richtig war.
}
if(EingabeBenutzer>Ergebniss || EingabeBenutzer<Ergebniss )
{
System.out.println("Diese Aufgabe hast du leider nicht richtig gelöst. Das richtige Ergebnis wäre "+ Ergebniss); // Die Ausgabe, wenn das eingegebene Ergebniss falsch ist.
System.out.println();
RoF[i]="Falsch";
Score--; // Der Score zählt um einen runter, da ein falsches Ergebniss eingegeben wurde.
}
if(EingabeBenutzer==0)
{
System.out.println();
System.out.println();
System.out.println("Das Programm wurde beendet! Es folgen die Ergebnisse."); // Ausgabe, nachdem das Programm durch die Eingabe 0 beendet.
System.out.println();
for(int u=0;u<Anzahl;u++)
{
if(ErgebnissSpeicher[u]>0)
{
System.out.println("Das Ergebnis der " +AufgabenZähler+". Aufgabe ("+Mtspeicher[u]+"*"+Mdspeicher[u]+") lautet: " + ErgebnissSpeicher[u]+"."); // Die richtigen Ergebnisse werden ausgegeben.
System.out.println("Dein Ergebnis war "+BenutzerEingabe[u]+", es war also "+RoF[u]+".");
System.out.println();
AufgabenZähler++;
}
}
Score++;
System.out.println("Dein Score beträgt: "+ Score ); // Der Score wird ausgegeben.
System.out.println();
System.out.println("Wenn du erneut spielen möchtest, gebe eine 1 ein.");
int NeueRunde;
NeueRunde = input.nextInt();
if(NeueRunde==1)
{
grenze++;
Rundenazahl++;
System.out.println();
System.out.println("Willkomen zur "+Rundenazahl+". Runde !");
System.out.println();
}
}
}
}
}
}
}