Dúvida Retorna o valor do array e verificar se o valor passado é válido pra imprimir o resultad

5 respostas
F

Boa noite!! Galera gostaria de um força para resolver esse projeto.

a) Uma classe: ContaCorrente:
? Atributos da classe ContaCorrente:

? numeroConta (inteiro)não pode receber um valor menor ou igual a zero;
? correntista (string) não pode receber um valor nulo ou string vazia;
? saldo (ponto-flutuante) não pode manter um valor menor que zero;
? Implementar apenas um construtor recebendo valores para os atributos numeroConta e correntista da classe ContaCorrente.

? Utilizar a técnica de encapsulamento apresentada no curso e implementar métodos get e set para todos os atributos da classe (ver observação abaixo). OBS: Não implementar o método set para o atributo saldo. O valor do atributo saldo só poderá ser alterado através dos métodos deposita, saque e transfere detalhados a seguir.

? Implementar o método boolean deposita(double valor) que deposita um valor na conta corrente. O método retorna verdadeiro se o depósito foi realizado com sucesso ou falso em caso contrário. OBS: Verificar se o valor informado é maior que zero.

? Implementar o método boolean saque(double valor) que realiza um saque na conta corrente. O método retorna verdadeiro se o saque foi realizado com sucesso ou falso e caso contrário. OBS: Verificar se o valor informado é maior que zero e se há saldo suficiente para realizar o saque.

? Implementar o método boolean transfere(double valor, ContaCorrente c2) que realiza uma transferência de um valor da conta corrente para a conta corrente c2. O método retorna verdadeiro se a transferência foi realizada com sucesso ou falso em caso contrário. OBS: Verificar se o valor informado é maior que zero, se o objeto c2 não é nulo e se há saldo suficiente para realizar a transferência.

----------------------------Segue abaixo o código da primeira parte que fiz Classe ContaCorrente --------------------------------------------------------------------------------

public class ContaCorrente {
	 int numeroConta;
	 String correntista;
	 float saldo;
	 
	public ContaCorrente(String correntista, int numeroConta, float saldo) {
		this.correntista = correntista;
		this.numeroConta = numeroConta;
		this.saldo = saldo;
	}
	
	public ContaCorrente(int num, String nome) {
		// TODO Auto-generated constructor stub
	}

	public int getNumeroConta() {
		return numeroConta;
	}

	public void setNumeroConta(int numeroConta) {
		this.numeroConta = numeroConta;
	}

	public String getCorrentista() {
		return correntista;
	}

	public void setCorrentista(String correntista) {
		this.correntista = correntista;
	}

	public float getSaldo() {
		return saldo;
	}

//	public void setSaldo(float saldo) {
//			this.saldo = saldo;
//	}
	 
	 
	boolean deposita(double valor){
		if (valor > 0){
			this.saldo = (float)(this.saldo + valor);
				return true;
		} else{
			return false;
			}
	}
	
	boolean saque (double valor){
		if (valor > 0){
			this.saldo = (float) (this.saldo - valor);
			return true;
		} else {
			return false;
			}
	}
	
	boolean transfere (double valor, ContaCorrente c2){  
		if (valor > 0){  
		  boolean retirou = this.saque(valor); 
			
		  if (retirou == false){  
				return false;  
			}
		}	
		
		else{  
		  if(c2!= null){  
		  c2.deposita(valor);  
			return true;  
		  }
			else{  
			   System.err.println("Valor de Conta Corrente 2 nulo!");  
			   return false;  
			}
		}
		return false;	
	}		 
}

Não sei se tem algo errado nesse parte que não esta retornando o valor na segunda parte.

[size=18]
O PROBLEMA ESTA AQUI!![/size]

QUANDO FAÇO O ARRAY PARA GUARDA OS VALORES PASSADO PELO O USUÁRIO CONFORME PEDE ABAIXO NÃO CONSIGO
TENTO IMPRIMIR OS DADOS DA CONTA PASSADO PELO USUÁRIO E NÃO SAI.

NÃO ESTOU CONSEGUINDO CRIAR OS RESTO DESSE BENDITO PROJETO

b) Uma classe: AplicacaoContas:

1. Esta classe instancia dois objetos do tipo ContaCorrente, a partir de dados informados pelo usuário.

2. Em seguida, o programa deve oferecer um menu para o usuário com as seguintes opções:

? Imprimir dados de uma conta: Para esta opção o usuário deverá informar o número da conta;

? Realizar depósito: Para esta opção o usuário deverá informar o número da conta e o valor para depósito;

? Realizar saque: Para esta opção o usuário deverá informar o número da conta e o valor para saque;

? Realizar transferência: Para esta opção o usuário deverá informar o número da conta origem, o número da conta destino e o valor para transferência;

OBS: Para as opções de depósito, saque e transferência, o programa deve imprimir na tela uma mensagem indicando se o depósito, o saque ou a transferência foi realizado com sucesso ou não.

------------------------------- Segue abaixo que começei a fazer tenho certeza que tem algo errado -----------------------------------------------------------------------
[size=24]Por Favor Ajude-me!![/size]

import java.util.ArrayList;
import java.util.Scanner;
import java.util.Set;
import javax.swing.JOptionPane;

public class AplicacaoConta {
		static int op;
	 	static Scanner entrada = new Scanner(System.in);      
	 	static ArrayList <ContaCorrente> ContasCorrentes = new ArrayList <ContaCorrente>(); 

	public static void CadastroConta(){
       
		System.out.print("\n\t\tInforme Nome Correntista: ");
		String correntista = entrada.next();    
		System.out.print("\t\tInforme Número da Conta: ");    
		int numeroConta=entrada.nextInt();    
		ContasCorrentes.add(new ContaCorrente(numeroConta, correntista)); 

		System.out.println("\n\t\tOperação Realizada com Sucesso!");
	}
           
          private static void menu() {
        	  String menu = "\n\t\t1 - Imprimir dados de uma conta\n\t\t2 - Realizar depósito\n\t\t3 - Realizar saque\n\t\t4 - Realizar transferência\n\n";
              System.out.println(menu);               
              System.out.print("\n\t\tEntre com a opcao: ");
              int opcao = entrada.nextInt();
        	  switch (opcao) {
			case 1:
				System.out.println("\n\t\t============== CONTAS CORRENTES CADASTRADAS ============");
				System.out.print("\n\t\tEntre com o numero da sua conta: ");
				int numeroConta = entrada.nextInt();
                for(ContaCorrente c : ContasCorrentes) {
                	if (numeroConta == c.numeroConta)
                	System.out.println("\n\t\tNovo Correntista: " + c.correntista);
                	else {System.out.println("\n\t\tNúmero Inválido!");
                	}
                break;
                }
        	  }
           //	default:System.out.println("\t\tOperacao invalida!"); 
               }
          
          
          public static void main(String[] args){
        	  		CadastroConta ();
        	  		menu();

          }
}

5 Respostas

J

tenta na comparação utilizar numeroconta == c.getNumeroConta

F

funcionou não parceiro esta tenso esse projeto!! :frowning:

JuniorMaia

c.getNumeroConta() :smiley:

F

eu tentei examente isso ai, anteriomente mas não esta indo. :cry: :x

J

faça um debug colocando um break point no for ou coloque um print dentro for antes do if para ver se pelo menos entra no for.

Criado 5 de junho de 2012
Ultima resposta 6 de jun. de 2012
Respostas 5
Participantes 3