Abbruchbedingung |
14.11.2015, 23:17 | Auf diesen Beitrag antworten » | |||||
Ratte | Abbruchbedingung Hat jemand vielleicht eine Idee für die return statement und die Abbruchbedingung bei folgender Aufgabe? Ich zerbreche mir schon seit einer ganzen Zeit den Kopf darüber... |
|||||
|
||||||
15.11.2015, 07:21 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Im Beispiel hast du ein Wort ungerader Länge. Du wirst irgendwann Position 3 mit Position 3 vergleichen (der Ausgang des Vergleichs ist klar). Danach vergleichst du nur noch Ziffer, die du schon verglichen hast. Wie sieht es bei gerader Ziffernzahl aus? |
|||||
15.11.2015, 07:56 | Auf diesen Beitrag antworten » | |||||
Ratte | Hallo eulersche Zahl, irgendwie kann ich dir nicht folgen In welchem beispiel? Ungerader länge? Hättest du bitte die güte mir das per quellcode näher zu bringen? |
|||||
15.11.2015, 07:57 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Ich nehme Bezug auf das Beispiel, das du in deinem Bild angehängt hast. |
|||||
Anzeige | ||||||
|
||||||
15.11.2015, 08:21 | Auf diesen Beitrag antworten » | |||||
Ratte | Bei geraden ziffernzahln weiß ich es nicht. Zumindest fällt mir spontan kein mathematischer ausdruck dafür ein um den vergleich zu beschreiben. |
|||||
15.11.2015, 08:37 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Ich habe mal ein wenig rumgespielt. Edit: das eine Bild musst du anklicken, damit sich was bewegt. |
|||||
15.11.2015, 09:41 | Auf diesen Beitrag antworten » | |||||
Ratte | Danke für das attachment. Leider weiß ich trotzdessen nicht wie ich das in "quellcode" schreibe |
|||||
15.11.2015, 12:37 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Rekursiver Aufruf: erhöhe left, verringere right Abbruch: left >= right |
|||||
15.11.2015, 13:38 | Auf diesen Beitrag antworten » | |||||
Ratte |
Vielen dank! Also mit (zahl\10^position)%10 Kann ich von rechts nach links gehen. Aber wie bewege ich nun die position von links nach rechts? |
|||||
15.11.2015, 13:42 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Mit (zahl\10^position)%10 bekommst du eine einzelne Ziffer. Um die Ziffer rechts daneben zu bekommen, musst du position um eins verringern, nach links musst du position erhöhen. |
|||||
15.11.2015, 14:07 | Auf diesen Beitrag antworten » | |||||
Ratte | etwa so? also für right = (zahl\10^(position+1))%10 udn für left = ( zahl\10^(position-1))%10 |
|||||
15.11.2015, 14:10 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Nach Aufgabenstellung hast du die Variable position gar nicht, dafür aber right und left. Diese kannst du in die Formel gleich für position einsetzen. |
|||||
15.11.2015, 14:38 | Auf diesen Beitrag antworten » | |||||
Ratte | ist das so richtig?
|
|||||
15.11.2015, 14:46 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Nein. ^ macht in Java XOR. Und du gibst nirgendwo true oder false zurück. Außerdem musst du in jedem Druchlauf 2 Ziffern miteinander vergleichen.
|
|