es problema no es dificill mas bien es una broma (no te molestes)
el truco no es usar funciones matematicas conplejas para dar la solucion todo lo contrario las soluciones mas sencillas logicas y cortas que se te puedan presentar son las mejores
comensemos que no necesitas calcular las cifras usando funciones matematicas eso es perdida de tiempo mejor usa la clase String(mientras mas clases conoscas que te hagan la tare por ti mejor)
para mostrarte como se ase tu tarea solo te resolvere las mas "sencillas" tu lla ases las mas dificiles
Código [Seleccionar]
//cantidad de digitos
int cantCifras= txtnumero.getText().length();
txtrespuesta.setText(""+cantCifras);
Código [Seleccionar]
//suma de digitos
int cont =0;
for(int c=1;c<=txtnumero.getText().length();c++){
System.out.print(c+" "+txtnumero.getText().charAt(c-1)+"\n");
cont =cont +Integer.parseInt(txtnumero.getText().charAt(c-1)+"");
}
txtrespuesta.setText(cont+"");
}