1. #1
    U-Labs Routinier
    Avatar von Mentos
    Registriert seit
    18.11.2011
    Beiträge
    451
    Thanked 497 Times in 239 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.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191