Ejercicio POO por favor ayuda!!
Hola, necesitarÃa que me ayuden con un ejercicio en Java tengo q escribir el código necesario para lograr lo siguiente:
Escribir un programa q calcule y devuelva la suma de los dÃgitos decimales de un entero largo ( long) recibido como parametro ( el ejercicio debe tener el metodo main implementado para poder probar la funcionalidad requerida en el mismo).
Bueno espero que me puedan ayudar con el código para que pueda lograr esos resultados.
Gracias!!.
Escribir un programa q calcule y devuelva la suma de los dÃgitos decimales de un entero largo ( long) recibido como parametro ( el ejercicio debe tener el metodo main implementado para poder probar la funcionalidad requerida en el mismo).
Bueno espero que me puedan ayudar con el código para que pueda lograr esos resultados.
Gracias!!.
mora solo haz una variable que sume los dps longs y ya esta para que hagas el main si lo vas hacer en dos una el system.out.println y ya esta si no solo captura los numerodel frame con jtf.getText(); eso serecupera de tipo estring oconviertes y ya esta ... el main es muy similar al de c++
Oye, el otro dÃa habia construido el programa para usted y se me olvidó ponerlo, pero aquà va con mucho gusto, aunque te doy un consejo: Disfruta de los ejercicios que te ponen.
/**
* Programa que calcula la suma de los dÃgitos de
* Un número
* Autor: Juan David Cuartas León
*/
class SumaDigitos {
/**
* Devuelve el dÃgito del número en la posición
* Indicada, de derecha a izuierda
*/
private static int getDigit(int pos , long numero) {
return (int) ((numero % (int) Math.pow(10 , pos + 1)) / (int) Math.pow(10 , pos));
}
/**
* Retorna el número de dÃgitos del número
*/
private static int countDigits(long numero) {
int count = 0;
numero = Math.abs(numero);
do {
numero = numero / 10;
count ++;
} while (numero > 0);
return count;
}
/**
* Retorna la suma de los dÃgitos de un número long
* Si el número es negativo, se toma su valor absoluto
*/
public static int sumDigits(long numero) {
if(numero < 0)
numero = Math.abs(numero);
int suma = 0;
int numDigits = countDigits(numero);
for(int i = 0 ; i < numDigits ; i ++)
suma += getDigit(i , numero);
return suma;
}
/**
* Método principal
*/
public static void main(String a[]) {
long number = 1234567890;
System.out.println(sumDigits(number));
}
}
/**
* Programa que calcula la suma de los dÃgitos de
* Un número
* Autor: Juan David Cuartas León
*/
class SumaDigitos {
/**
* Devuelve el dÃgito del número en la posición
* Indicada, de derecha a izuierda
*/
private static int getDigit(int pos , long numero) {
return (int) ((numero % (int) Math.pow(10 , pos + 1)) / (int) Math.pow(10 , pos));
}
/**
* Retorna el número de dÃgitos del número
*/
private static int countDigits(long numero) {
int count = 0;
numero = Math.abs(numero);
do {
numero = numero / 10;
count ++;
} while (numero > 0);
return count;
}
/**
* Retorna la suma de los dÃgitos de un número long
* Si el número es negativo, se toma su valor absoluto
*/
public static int sumDigits(long numero) {
if(numero < 0)
numero = Math.abs(numero);
int suma = 0;
int numDigits = countDigits(numero);
for(int i = 0 ; i < numDigits ; i ++)
suma += getDigit(i , numero);
return suma;
}
/**
* Método principal
*/
public static void main(String a[]) {
long number = 1234567890;
System.out.println(sumDigits(number));
}
}
