Outro probleminha

2 respostas
Evellyn

negócio é seguinte:
tenho q escrever nome, conta e saldo de n pessoas. - ok
dessas pessoas eu preciso dizer
1. quem tá com saldo positivo e negativo
2. quanto porcento das pessoas estão com saldo negativo.

até agora, o q eu consegui fazer foi:
Scanner input = new Scanner(System.in);
		int i = 0;
		String[] nome = new String[5];
		int[] conta = new int[5];
		double[] saldo = new double[5];
		System.out.println("Análise da conta de 5 pessoas");
		for (i = 0; i < nome.length; i++) {
			System.out.println((i + 1) + ". Nome, Conta e saldo: ");
			nome[i] = input.next();
			conta[i] = input.nextInt();
			saldo[i] = input.nextDouble();
		}
		for (i = 0; i < saldo.length; i++) {
			if (saldo[i] > 0) {
				System.out.println("" + nome[i] + ", " + conta[i]
						+ " saldo positivo.");
			} else {
				System.out.println("" + nome[i] + ", " + conta[i]
						+ " saldo negativo.");
			}
		}
			int totalNegativos = 0;
			for (i = 0; i < saldo.length; i++) {
				if (saldo[i] < 0) {
					totalNegativos = (int) (totalNegativos + saldo[i]);
				}
			}
			int porcent = 0;
			for (i = 0; i < saldo.length; i++) {
				if (saldo[i] < 0) {
					porcent = (int) ((totalNegativos * saldo[i]) / saldo[i]);
					System.out.print("Existem " + porcent
							+ "% de cliente com saldo negativo");
				} else {
					System.exit(0);
				}
			}
		
	}

Alguem pode me ajudar?

2 Respostas

Lavieri

1° sugestão ... seria no lugar de usar arrays com as propriedades, fazer uma classe para guardar as propriedades, ai usar uma array para guardar as classes (pode ser uma lista tb no lugar da array)...

Uma classe seria + ou - assim

public ContaCorrente {
    private String correntista;
    private String conta;
    private double saldo;
 
    public ContaCorrente(String correntista) {
        this.correntista = correntista;
    }

    public void sacar(double valor) {
        this.saldo = saldo - valor;
    }

    public void depositar(double valor) {
        this.saldo = saldo + valor;
    }

    public double getSaldo() {
        return saldo;
    }

    public String getCorrentista() {
        return correntista;
    }

    public String getConta() {
        return conta;
    }

    public void setConta(String conta) {
         this.conta = conta;
    }
    
    public boolean isDevedor() {
        return saldo < 0;
    }
}
Evellyn

eu ainda num aprendi direito cm faz assim. Mas pelo q entendi do código, há uma informação desnecessaria, “depósito”, mas vale a incrementada.
e só mais uma coisa:cm eu faço pra resolver o restante?

Criado 10 de fevereiro de 2009
Ultima resposta 10 de fev. de 2009
Respostas 2
Participantes 2