Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

PROBLEMA AO RODAR JAVA NO NETBEANS!

Não estou conseguindo rodar java no NetBeans. Ja baixei a JDK e tudo que tinha que baixar, porem ele nao me permite criar classe. Exemplo: no caso do meu código abaixo ele nao deixa criar a Classe Programa e mesmo eu tirando a classe programa, ele nao consegue pegar os dados da classe Pessoa.

public class Conta {
    int numero;
    Pessoa titular;
    double saldo;
    int agencia;

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

    void saca(double valorASerSacado)  {
        if(this.saldo >= valorASerSacado)  {
            this.saldo -= valorASerSacado;
        }
    }

    void transfere(double valor, Conta destino) {
        this.saldo -= valor;
        destino.saldo += valor;
    }

    class Pessoa {
        String nome;
        String cpf;
        String dataNascimento;
    }

//ESSE AKI, SE EU CRIAR, O PROGRAMA NÃO COMPILA    
class Programa   {
    public static void main(String[] args) {
        Conta mauricio = new Conta();
        mauricio.numero = 123;
        mauricio.saldo = 800.0;
        mauricio.agencia = 842;
       // APARECE UM PONTO DE ! VERMELHO NA LINHA ABAIXO
       // E AI NÃO COMPILA
    mauricio.titular = new Pessoa();
        mauricio.titular.nome = "Mauricio Aniche";
        mauricio.titular.cpf = "123456789";
        mauricio.titular.dataNascimento = "10/10/1975";

        System.out.println(mauricio.titular.nome);

        mauricio.deposita(100.0);

        mauricio.saca(5000.0);

        Conta guilherme = new Conta();
        guilherme.numero = 456;
        guilherme.saldo = 1200.0;

        guilherme.deposita(100.0);        

        mauricio.transfere(100.0, guilherme);

        System.out.println(mauricio.saldo);
        System.out.println(guilherme.saldo);
    }
  }
}

OBS: NAO QUERO MUDAR DE PROGRAMA, QUERO FICAR NO NETBEANS MESMO!

1 resposta
solução!

Iann,

O problema é que você esqueceu de fechar a classe Conta. Você está criando a classe Pessoa DENTRO da classe Conta, e isso não pode. Eu recomendo fortemente que você separe cada classe em arquivos diferentes. Um arquivo para cada classe. Mas olha como que fica o seu código:

// Arquivo Conta.java
class Conta {
    int numero;
    Pessoa titular;
    double saldo;
    int agencia;

    void deposita(double valorASerDepositado) {        
        this.saldo += valorASerDepositado;
    }  // fim deposita

    void saca(double valorASerSacado)  {
        if(this.saldo >= valorASerSacado)  {
            this.saldo -= valorASerSacado;
        } // fim if
    } // fim saca

    void transfere(double valor, Conta destino) {
        this.saldo -= valor;
        destino.saldo += valor;
    } // fim transfere
} // fim Conta (essa é a chave que você não criou)

// Arquivo Pessoa.java
class Pessoa {
    String nome;
    String cpf;
    String dataNascimento;
}

// Arquivo Programa.java
class Programa   {
    public static void main(String[] args) {
        Conta mauricio = new Conta();
        mauricio.numero = 123;
        mauricio.saldo = 800.0;
        mauricio.agencia = 842;
        mauricio.titular = new Pessoa();
        mauricio.titular.nome = "Mauricio Aniche";
        mauricio.titular.cpf = "123456789";
        mauricio.titular.dataNascimento = "10/10/1975";
        System.out.println(mauricio.titular.nome);
        mauricio.deposita(100.0);
        mauricio.saca(5000.0);

        Conta guilherme = new Conta();
        guilherme.numero = 456;
        guilherme.saldo = 1200.0;
        guilherme.deposita(100.0);        

        mauricio.transfere(100.0, guilherme);

        System.out.println(mauricio.saldo);
        System.out.println(guilherme.saldo);
    } // fim main
}// fim Programa

Se vocẽ criar os três arquivos separados como eu mostrei dentro do Netbeans (os três arquivos tem de estar na mesma pasta obrigatóriamente) e mandar compilar, seu código vai funcionar.