Joshua Wilson:
I ter sido encarregado com a atribuição de criar um método que irá tomar a entrada int três dígitos por parte do utilizador e a sua saída invertida (123-321). Eu não estou autorizado a converter o int para uma cadeia ou vou perder pontos, eu também não estou autorizado a imprimir em qualquer lugar diferente principal.
public class Lab01
{
public int sumTheDigits(int num)
{
int sum = 0;
while(num > 0)
{
sum = sum + num % 10;
num = num/10;
}
return sum;
}
public int reverseTheOrder(int reverse)
{
return reverse;
}
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
Lab01 lab = new Lab01();
System.out.println("Enter a three digit number: ");
int theNum = input.nextInt();
int theSum = lab.sumTheDigits(theNum);
int theReverse = lab.reverseTheOrder(theSum);
System.out.println("The sum of the digits of " + theNum + " is " + theSum);
}
WJS:
Você precisa usar o seguinte.
%
o operador restante/
o operador de divisão*
multiplicação.+
Adição
Say you have a number 987
n = 987
r = n % 10 = 7 remainder when dividing by 10
n = n/10 = 98 integer division
Now repeat with n until n = 0, keeping track of r.
Depois de entender isso, você pode experimentar (talvez no papel primeiro) para ver como colocá-los de volta na ordem inversa (usando os dois últimos operadores). Mas lembre-se que os números que terminam em 0 como 980 se tornará 89 desde levando 0 de são descartados.