ich würde das so machen, wobei der Zusatz:

Wenn die Zahl eine negative Zahl ist, dann müsste man ja davon ausgehen, dass die Bestandteile der Zahl ebenso negativ sind, also dass eine -123 aus -100 + -20 + -3 besteht, weil ja erst 100-20-3 die -123 ergibt.
Beim Modulo ist das aber nicht so ersichtlich; daher die umständliche Variante. Man kann das sicherlich auch vereinfachen bzw. den Code dahingehend optimieren, aber so, dass das Ganze an sich erst mal ersichtlich ist, würde ich es ausführlich wie folgt gestalten:

int berechneQuersumme(final int uebergebeneZahl) {

//hier wird die Summe der Quersumme nacheinander aufgebaut
// und gespeichert
int summe = 0;

//übergebene Zahl wird für die Operationen zwischengespeichert
int zahl = uebergebeneZahl;

//wenn Zahl negativ ist
if(zahl < 0) {

//multipliziere mit -1, so dass sie positiv wird
zahl *= -1;
}

//solange Zahl nicht 0 ist
while(zahl != 0) {

//addiere die letzte Ziffer zur Summe der Zahl
summe = summe + (zahl%10);
//und teile die Zahl durch 10 (bei int wird dann "gekürzt",
//d. h. letzte Ziffer bzw. Nachkommastelle verschwindet
//und die vorderen Zahlen bleiben übrig
zahl = zahl/10;

}

//wenn die übergebene Zahl negativ ist
if(uebergebeneZahl < 0) {

//multipliziere die Summe mit -1, um sie negativ zu machen
summe *= -1;

}

return summe;

}

...zur Antwort