Brauchen Sie Hilfe bei einem zufälligen Mathe-generator
Was soll ich tun, ist dies:Schreiben Sie ein Programm, das dem Benutzer 10 zufällige mathematische Probleme, fragt nach der Antwort jedes mal, und dann dem Benutzer sagt, ob Sie richtig oder falsch ist. Jedes problem sollte die Verwendung von 2 zufällige zahlen zwischen 1 und 20, und eine zufällige operation ( + , -, * oder /). Sie müssen re-randomisieren Sie die zahlen für jedes mathematische problem. Sie sollten auch im Auge behalten, wie viele Probleme, die Sie bekommen Recht. Am Ende erfahren die Nutzer, wie viele Probleme Sie bekam Recht und geben Sie eine Nachricht basierend auf Ihr Ergebnis. Zum Beispiel, können Sie sagen "good job" oder "Sie müssen mehr üben."
Bisher bin ich an einem Verlust
import java.util.Scanner;
public class SS_Un5As4 {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int number1 = (int)(Math.random()* 20) + 1;
int number2 = (int)(Math.random()* 20) + 1;
int operator = (int)(Math.random()*4) + 1;
if (operator == 1)
System.out.println("+");
if (operator == 2)
System.out.println("-");
if (operator == 3)
System.out.println("*");
if (operator == 4)
System.out.println("/");
}
}
Ich meist müssen wissen, wie man diese zufälligen zahlen und Operatoren in ein problem, und, wie Grad jeder Frage zu sehen, wenn Sie falsch sind.
- Was haben Sie versucht, in dieser Hinsicht? Ich würde sagen, Sie haben den schwierigsten Teil zu erledigen..
- Es scheint etwas zu sein, was ich bin fehlt, aber ich weiß einfach nicht, wie es zu tun. Wenn Sie ausarbeiten könnte, dass wäre genial.
- print out <Zahl1> <operator> <Zahl2> = ?. Lesen Sie in der Benutzer-Eingabe. Prüfen Sie die Antwort und die Ausgabe der Nachricht. Vielleicht möchten Sie versuchen, eine Aufteilung in Funktionen. Sie können auch speichern Sie die Operatoren in
String operators = " +-*/"
. Sie können nachschlagen und drucken Sie von dort aus..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, was Sie brauchen, um hinzuzufügen ist:
zu zählen Antworten:
, ein problem zu schaffen:
in deinem switch (z.B. wenn Sie die Betreiber) auch die Berechnung der richtigen Antwort:
So, einen "pseudocode"Lösung für dein problem würde in etwa so Aussehen:
Allgemeine Hinweise: nicht versuchen, das problem zu lösen, alles auf einmal. Ein guter Ansatz ist das erstellen von kleinen Funktionen, die alle für Ihre einzigartige Aufgabe. Das gleiche mit problem-ZERLEGUNG : Sie sollten einfach aufschreiben, was Sie denken, Sie brauchen, um ein Modell der situation und dann tun Sie es Schritt für Schritt.
Hinweis: soweit ich sehen kann, von Ihrer aktuellen Funktion, Sie sind nicht vertraut mit der objektorientierten Programmierung in Java. Deshalb bin ich nicht, die Tipps darüber, wie toll es wäre die Verwendung von Klassen. Allerdings, wenn Sie sind, dann lassen Sie es mich bitte wissen, ich werde hinzufügen info zu meinem post.
Glück!
Zum Beispiel können Sie so etwas wie, dass:
Einer anderen Klasse für das halten von Operationen:
Aber man muß nicht throw IllegalArgumentException, gibt es andere Optionen für den Umgang mit unerwarteten Argumenten.
Ausdruck der zahlen und der Betrieb nehmen , Lesen Sie die Benutzer-Eingabe mit Datei IO , und führen Sie Ihre Logik, um einen track der beantworteten Fragen
Code :
Verfolgen Ergebnis und vergleichen Sie mit der Eingabe des Benutzers und überprüfen Sie den richtigen oder falschen
public static void main(String[] args) throws IOException{
Da will ich nicht zu hand, die Sie eine volle Lösung für dieses problem, und Sie haben scheinbar einige Kenntnisse in der Java-Sprache, das ich gerade Schreibe, wie würde ich weiter/ändern, was du haben beginnen.
Als erstes würde ich das Ergebnis speichern Sie in Ihrem operator if-Anweisungen. Ergebnis ist ein int.
Danach würde ich drucken Sie die kleine Rechenaufgabe und warten, bis der Benutzer zu beantworten.
In diesem Stadium alles, was Sie tun müssen ist, vergleichen Sie das Ergebnis mit der Eingabe des Benutzers und drucken Sie eine Nachricht.
Diese Lösung ist mehr oder weniger psudo-code und eine Fehlerbehandlung (wenn Benutzer test in der Antwort zum Beispiel) fehlt, auch würde ich es aufteilen in die Methoden eher, als haben es alle in main(). Im nächsten Schritt wäre es Objekt-orientiert (Haben Sie einen Blick auf die Antwort von demi). Viel Glück bei der Fertigstellung Ihres Programms.