Sou iniciante e tem 2 dias que estou quebrando a cabeça para encontrar o problema, podem me ajudar fazendo favor?
O código é o seguinte: é digitado um nome e um valor em uma lista, no final quero calcular o valor de 20% de comissão sobre os todos os valores digitados da lista, eu não estou conseguindo retornar o valor total de comissão, o programa só esta calculando o valor do último numero digitado, vou colocar o código aqui:
package entidades;
import java.util.ArrayList;
import java.util.List;
public class Cliente extends Comissionamento {
List<Cliente> list = new ArrayList<>();
public String nomecliente;
public Double valor;
public Comissionamento comissionamento;
public Cliente() {
super();
}
public Cliente(String nomecliente, Double valor) {
this.nomecliente = nomecliente;
this.valor = valor;
}
public String getNomecliente() {
return nomecliente;
}
public void setNomecliente(String nomecliente) {
this.nomecliente = nomecliente;
}
public Double getValor() {
return valor;
}
public void setValor(Double valor) {
this.valor = valor;
}
public Double valorComissaoTotal() {
return valor * super.getValorcomissao() / 100;
}
}
package entidades;
public class Comissionamento {
private Integer valorcomissao = 20;
public Comissionamento() {
}
public Comissionamento(Integer valorcomissao) {
this.valorcomissao = valorcomissao;
}
public Integer getValorcomissao() {
return valorcomissao;
}
public void setValorcomissao(Integer valorcomissao) {
this.valorcomissao = valorcomissao;
}
}
package program;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Scanner;
import entidades.Cliente;
import entidades.Comissionamento;
public class Programa {
public static void main(String[] args) {
Comissionamento comissionamento = new Comissionamento();
Locale.setDefault(Locale.US);
List<Cliente> list = new ArrayList<>();
Cliente cliente = new Cliente();
Scanner sc = new Scanner(System.in);
System.out.println("Digite a Quantidade de Clientes: ");
int n = sc.nextInt();
double soma = 0;
for (int x = 0; x < n; x++) {
System.out.println("Dados do Cliente");
System.out.print("Cliente: ");
sc.nextLine();
String nomecliente = sc.nextLine();
System.out.print("Valor do Contrato: ");
Double valor = sc.nextDouble();
cliente = new Cliente(nomecliente, valor);
list.add(cliente);
soma += cliente.getValor();
}
for (Cliente obj : list) {
System.out.println("Cliente: " + cliente.getNomecliente() + " - " + " Valor: " + cliente.valor);
}
System.out.println("Total de Comissão: " + String.format("%.2f", cliente.valorComissaoTotal()));
}
}