6
respostas

uma conta não encontra a outra

COLOQUEI OS METODOS DENTRO DE UMA ESTRUTURA DE SWITCH COMO OPÇÕES E PEDIR PARA O USUARIO DIGITAR QUANTO QUER DEPOSITAR E SACAR (UTILIZEI VARIOS METODOS DIFERENTES E TAVA DANDO TUDO CERTO ATE CHEGAR NO TRANSFERE ONDE PARA COLOCAR O DESTINO ELE NÃO ENCONTRA A PRIMEIRA CONTA E VICE VERSA Insira aqui a descrição dessa imagem para ajudar na acessibilidadeJA CHEQUEI TODAS AS {} E () E NÃO ENCONTREI. NOS ATRIBUTOS NÃO APARECE ERRO APENAS NAS CONTAS

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

6 respostas

Fala Thiago, de boa ?

Cara tu chegou a criar a outra conta em algum ponto ? Imagino que seja similar ao que tu fez com a conta que está usando para fazer as operações.

CARA CHEGUEI SIM, AGORA EU CRIEI CADA PONTEIRO EM UMA CLASSE PROPRIA TEM POBLEMA ? PERA VO POSTAR O CODIGO INTEIRO




package javabank;
 import javax.swing.*;

public class criaconta {


  public static void main (String[] args)  {
      //declaração de variaveis
  conta  primeiraConta= new conta();
    primeiraConta.saldo=200;
    primeiraConta.conta="01-A";
    primeiraConta.titular="Moises";
    primeiraConta.agencia=01;
    char op=0;   //opções de saldo
    String msg;
    double mov=0,result;

    //entrada de dados 01
    msg="oque vc deseja com o saldo?"
            + " \n digite: "
            + "\n 1-para depositar 2-para depositar via OO"
            + "\n 3- para sacar normal 4-para sacar via OO 5-para transferir ";
    op=JOptionPane.showInputDialog(msg).charAt(0);

    //saida de dados
    System.out.print(primeiraConta.saldo+"\n");    
    System.out.println(primeiraConta.conta);
    System.out.println(primeiraConta.titular);
    System.out.println(primeiraConta.agencia);



      switch(op){

          case'1':{
              mov= Double.parseDouble (JOptionPane.showInputDialog("seu saldo e: $ "+primeiraConta.saldo+"\n"
                      + "quanto você deseja depositar? "));
              primeiraConta.saldo=primeiraConta.saldo+mov; 
              JOptionPane.showMessageDialog(null,"seu saldo agora e: $ "+primeiraConta.saldo);
              break;}

          case '2':{
              mov= Double.parseDouble (JOptionPane.showInputDialog("seu saldo e: $ "+primeiraConta.saldo+"\n"
                      + "quanto você deseja depositar? "));
              primeiraConta.deposita(mov);
              JOptionPane.showMessageDialog(null,"seu saldo agora e: $ "+primeiraConta.saldo);

         break; }

           case '3':{
              mov= Double.parseDouble (JOptionPane.showInputDialog("seu saldo e: $ "+primeiraConta.saldo+"\n"
                      + "quanto você deseja sacar? "));
              if(mov<primeiraConta.saldo){
              primeiraConta.saldo=primeiraConta.saldo-mov;
              JOptionPane.showMessageDialog(null,"seu saldo agora e: $ "+primeiraConta.saldo);}
              else{JOptionPane.showMessageDialog(null,"saldo insuficiente");
              }
              break;}

         case '4':{
              mov= Double.parseDouble (JOptionPane.showInputDialog("seu saldo e: $ "+primeiraConta.saldo+"\n"
                      + "quanto você deseja sacar? "));
            boolean resuntado=primeiraConta.saca(mov);
            JOptionPane.showMessageDialog(null,"seu saldo agora e: $ "+primeiraConta.saldo);
             System.out.println(resuntado);
         break;}

         case'5':{
              mov=Double.parseDouble(JOptionPane.showInputDialog("quanto você deseja transferir"
                     + " para a segunda conta? "));
             primeiraConta.transfere(mov,segundaConta);
        break; }   



        }        
  }
}

Olá,

aparentemente vc não instanciou a segundaConta.

Resolveu? Por favor, marcar como solucionado ✔. Bons estudos! ⌣

Thiago, de boa ?

Ta vendo essa parte:

 conta  primeiraConta= new conta();
    primeiraConta.saldo=200;
    primeiraConta.conta="01-A";
    primeiraConta.titular="Moises";
    primeiraConta.agencia=01;

Aqui tu criou a primeira conta, no caso tu precisaria fazer a mesma coisa, só que com outros dados para a segunda conta, entende ?

PIOR QUE EU CRIEI , SO QUE FOI EM OUTRA PAGINA, AI COMO O CODIGO E PRATICAMENTE O MESMO SO MANDEI O DA PRIMEIRA CONTA

conta segundaConta= new conta(); segundaConta.saldo=200; segundaConta.conta="02-A"; segundaConta.titular="Monica"; segundaConta.agencia=01;

Olá,

conforme citei acima, faltou vc criar uma segunda conta para transferência. Segue um simples exemplo.

/**
 * Nome do arquivo: Test.java
 * 
 */
public class Test {

    public static void main(String[] args) {
        Conta conta1 = new Conta(1, 400.0);
        Conta conta2 = new Conta(2, 200.0);

        conta1.transfere(100.0, conta2);
        System.out.printf("%s\n", conta1);
        System.out.printf("%s\n", conta2);
    }

}

class Conta {
    private int numero;
    private double saldo;

    public Conta(int numero, double valor){
        this.numero = numero;
        this.deposita(valor);
        System.out.printf("Criando %s\n", this);
    }

    public double saca (double valor){
        this.saldo -= valor;
        return valor;
    }

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

    public void transfere(double valor, Conta conta){        
        conta.deposita(this.saca(valor));
        System.out.printf("Transferindo %.2f da conta %d para conta %d\n", 
            valor, this.numero, conta.numero);
    }

    @Override
    public String toString() {
        return String.format("Conta: %d, Saldo: %.2f", 
            this.numero, this.saldo);
    }
}
Resolveu? Por favor, marcar como solucionado ✔. Bons estudos! ⌣

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software