2
respostas

Olá me ajudem nesse exercicio porfavor ! consigo apenas somar todos os digitios mas não consigo concluir o resto. porfavor necessito de ajuda

Escreva um programa que lê um número e mostra a soma dos seus dígitos, cada um múltiplicado por um peso, da seguinte forma:

Se o número tem 4 dígitos, o primeiro dígito deve ser multiplicado por 4, o segundo por 3, o terceiro por 2 e assim por diante. Se o número tem 10 dígitos, o primeiro dígito deve ser multiplicado por 10, o segundo por 9, o terceiro por 8 e assim por diante.

Exemplos:

Número: 123
Resultado: 10
Explicação: 1x3 + 2x2 + 3x1 = 10
Número: 2017
Resultado: 17
Explicação: 2x4 + 0x3 + 1x2 + 7x1= 17

MEU CODIGO ABAIXO

public class SomaII {
    public static void main(String[] args) {
       Scanner console = new Scanner (System.in);

       String num;
       int tamanho,soma= 0,av = 0;


        //ENTRADA
        System.out.print("Digite: ");
        num = console.next();

        //PROCESSAMENTO
        for (int j = num.length(); j >= 1; j--){

            av =  j;

        }
         for (int i = 0; i < num.length(); i++) {

        String d = num.substring(i,i+1);

        int di = Integer.parseInt(d);

        soma = soma + di;
        }
        System.out.println(soma);
    }

}
2 respostas

respondi no seu outro tópico

Refatorei um pouco o seu código e está funcionando. Veja se ajuda:

        String num;
        int tamanho, soma = 0, digito, peso ;

        // ENTRADA
        System.out.print("Digite: ");
        num = console.next();

        tamanho = num.length();
        peso = tamanho;

        for (int i = 0; i < tamanho; i++) {
            // atribuindo o valor numero do char para int
            digito = num.charAt(i) - '0';
            soma += digito * peso;
            peso--;
        }
        System.out.println(soma);