1. #1
    Avatar von Mentos
    Registriert seit
    18.11.2011
    Beiträge
    451
    Thanked 498 Times in 240 Posts

    Standard Lösen von Knuddels-Matheaufgaben

    Hey Ho,
    Aufgabe heute ist es, Mathefragen von Knuddels zu lösen.
    Bsp.
    "Nennen Sie die gesuchte Zahl: 5 mal ??? = 20"
    "Nennen Sie die gesuchte Zahl: 10 durch ??? = 3 Rest 1"
    "Nennen Sie die gesuchte Zahl: 5 + 5 = ???"

    Nach diesem Prinzip.
    Wie bei dem anderen Thread auch bereits hier eine Lösung von mir.
    (Java6 Kompatible!)

    Spoiler:Java


    /**
    * Löst nummerische Fragen in Knuddels
    * Written by Mentos. If you use it. Say thank you!
    * @param question Die vollständige Frage
    * @return Die (hoffentlich) korrekte Antwort
    */
    private static int solveNumericQuestion(String question) {

    if (question.startsWith("Nennen Sie die gesuchte Zahl: ")) {
    question = question.substring(30);
    //System.out.println(question);
    }
    String[] parts = question.split(" ");
    String operator = parts[1];

    String firstNumber = parts[0];
    String secondNumber = parts[2];
    String thirdNumber = parts[4];
    int solution = 0;

    if (operator.equals("mal")) {
    if (thirdNumber.equals("???")) { // 50 * 50 = ???
    solution = new Integer(firstNumber) * new Integer(secondNumber);
    } else {
    if (firstNumber.equals("???")) { // ??? * 20 = 40
    solution = new Integer(thirdNumber) / new Integer(secondNumber);
    } else if (secondNumber.equals("???")) { //20 * ??? = 40
    solution = new Integer(thirdNumber) / new Integer(firstNumber);
    }
    }
    } else if (operator.equals("durch")) {
    if (thirdNumber.equals("???")) { // 50 / 25 = ???
    if (question.indexOf("Rest") != -1) {
    firstNumber = String.valueOf(new Integer(firstNumber) - new Integer(parts[6]));
    }
    solution = new Integer(firstNumber) / new Integer(secondNumber);
    } else {
    if (firstNumber.equals("???")) { // ??? / 20 = 2
    solution = new Integer(secondNumber) * new Integer(thirdNumber);
    if (question.indexOf("Rest") != -1) {
    solution += new Integer(parts[6]);
    }
    } else if (secondNumber.equals("???")) // 19 durch ??? = 1 Rest 7
    {
    if (question.indexOf("Rest") != -1) {
    firstNumber = String.valueOf(new Integer(firstNumber) - new Integer(parts[6]));
    }
    solution = new Integer(firstNumber) / new Integer(thirdNumber);
    }
    }
    } else if (operator.equals("plus")) {
    if (thirdNumber.equals("???")) { // 50 + 50 = ???
    solution = new Integer(firstNumber) + new Integer(secondNumber);
    } else {
    if (firstNumber.equals("???")) { // ??? + 20 = 30
    solution = new Integer(thirdNumber) - new Integer(secondNumber);
    } else if (secondNumber.equals("???")) { // 50 + ??? = 150
    solution = new Integer(thirdNumber) - new Integer(firstNumber);
    }
    }
    } else if (operator.equals("minus")) {
    if (thirdNumber.equals("???")) { // 40 - 20 = ???
    solution = new Integer(firstNumber) - new Integer(secondNumber);
    } else {
    if (firstNumber.equals("???")) { // ??? - 50 = 10
    solution = new Integer(thirdNumber) + new Integer(secondNumber);
    } else if (secondNumber.equals("???")) {// 50 - ??? = 40
    solution = new Integer(firstNumber) - new Integer(thirdNumber);
    }
    }
    }

    return solution;
    }

    Geändert von Mentos (05.02.2012 um 02:34 Uhr) Grund: Code Improvement
    „Es sind nicht unsere Fähigkeiten, die zeigen, wer wir wirklich sind, es sind unsere Entscheidungen.“
    - Albus Dumbledore, Harry Potter 2


    /guestchat registerGuest

  2. The Following User Says Thank You to Mentos For This Useful Post:

    HandZup (17.02.2012)

Ähnliche Themen

  1. Denkaufgaben schnell lösen?
    Von StarWarsFan im Forum Bildung
    Antworten: 8
    Letzter Beitrag: 09.01.2014, 18:52
  2. Wie den Krampf endgültig lösen?
    Von Mr.Bombastic im Forum Sport & Gesundheit
    Antworten: 10
    Letzter Beitrag: 30.07.2013, 12:10
  3. Antworten: 11
    Letzter Beitrag: 30.07.2013, 08:28
  4. [S] Hilfe bei Matheaufgaben
    Von Prinzessin im Forum Bildung
    Antworten: 5
    Letzter Beitrag: 02.02.2012, 00:15
  5. Zauberwürfel lösen?
    Von Rusze im Forum RealLife
    Antworten: 2
    Letzter Beitrag: 08.12.2011, 12:40
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.