Fala ai @ismaelmartinsds, acho que consegui entender o que é que você deseja fazer, veja se eh essa a logica?
Você deseja pegar uma valor qualquer atribuído a valorResultado e ir subtraindo sucessivamente dos valores que estão no Array e quando chegar a zero voce deseja mostrar a soma dos valores que restaram, ou seja, aqueles que não fizeram parte das sucessivas subtrações. É isso?
“Valor calculado” é o valor que esta dentro do Array int[] array = {100, 200, 100, 50, 30, 100, 30};
e o 80 sobra por que é a subtração do que restou, 20 - 100.
Altere no seu else a variável concatenada para a valorResultado, assim:
else{
System.out.println("Sobra do valor calculado = "+valorResultado);
}
É nessa variável que você armazenou a sobra, então é ela que tem que ser concatenada no else. Apresentando o valor do Array ele vai retornar 30 pois ele está mostrando o valor armazenado no index i do seu array, que como está na última execução do for, é 30.
É quase isso, como saiu o resultado:
Valor calculado = 100
Valor calculado = 200
Valor calculado = 100
Valor calculado = 50
Valor calculado = 30
Valor calculado = 100
Sobra do valor calculado = -80
e estou precisando que saia assim:
Valor calculado = 100
Valor calculado = 200
Valor calculado = 100
Valor calculado = 50
Valor calculado = 30
Valor calculado = 20
Sobra do valor calculado = 80
no lugar do 100 tem que ser o 20, que é o valor que falta para 0, e o 80 positivo que foi o que sobrou!
Olá @ismaelmartinsds! Entendi que você precisava executar diversas subtrações até chegar no zero. Quando chegar no zero, o valor calculado passa a ser o valor que falta para dar zero e, além disso, precisa mostrar a sobra da conta.desse valor. Fiz o seguinte: