Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Aufgabe 4.4
Bei der Aufgabe habe ich eine Frage:
Ich habe den Code soweit geschrieben, aber es kommt ArrayIndexOutOfBoundsException error.
Ich weiß noch nicht woran das liegt.
Ich habe 2 gleiche Zahlen miteinander addiert und als neues int deklariert.
Dieses int habe ich mit Hilfe Integer.toString () in einen string s umgewandelt.
Bei return steht dann der String und die Rekursion der Methode drin. int i wird in der Rekursion erhöht.
Wie muss ich das schreiben, damit immer ein Leerzeichen zwischen den Zahlen ist?
Ich habe mir gedacht: return s + merges(…);
Aber iwie funktioniert das noch nicht.
Die Basisfälle sind bei mir einmal wenn i genau die letzte Zahl vom array ist und wenn i irgendeine Zahle außerhalb vom array ist.
Bei einer Exception sagt die die VM auch immer relativ genau wo sie aufgetreten ist und welcher Wert daran „schuld“ ist.
Arrays fangen in Java (und so ziemlich in fast allen Sprachen) bei 0 an und gehen bis länge-a => also wenn du versuchst bei einem Array der Länge 5 mit array[5] zuzugreifen, dann wirst du eine ArrayIndexOutOfBoundsException bekommen.
den Out of bounds fehler habe jetzt gefunden, danke!
Hi,
ich habe jetzt nicht Integer.toString () verwendet sondern String.valueOf() geht das auch?
Viele Grüße
Smithers
Ja, die beiden Methode sind äquivalent.
Siehe auch hier
Hi,
habe auch mal ne Frage und zwar wenn bei Aufgabe 4.4 der Index i negativ übergeben wird. Soll ich auch dann unter der Vorraussetzung, dass es eine Zahlenfolge gibt wie gehabt ab der ersten Zahl rechnen bzw. auflisten?