Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

Compilar 2 class

Ao inserir o codigo :

class Conta {
    int numero;
    String titular;
    double saldo;
    int agencia;
}

 class Programa {   
    public static void main(String[] args) {
        Conta mauricio = new Conta();
        mauricio.numero = 123;
        mauricio.saldo = 800.0;
        mauricio.titular = "Mauricio Aniche";
        mauricio.agencia = 842;

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

    }
}

Ao compilar apresentou o seguinte erro :

C:\Users\GUILHERME\Desktop\Logica>javac conta.java conta.java:17: error: cannot find symbol System.out.println(guilherme.saldo); ^ symbol: variable guilherme location: class Programa 1 error

C:\Users\GUILHERME\Desktop\Logica>java Programa Erro: Não foi possível localizar nem carregar a classe principal Programa

8 respostas

E aí, Guilherme! Tudo certinho? =)

Você está tendo um erro de compilação, pois o compilador não conseguiu encontrar a variável guilherme. Você criou uma conta que você chamou de mauricio, mas não criou uma conta chamada de guilherme, sacou?

Se você remover essa linha, acredito que tudo deva compilar e rodar normalmente, mas se quiser mantê-la, você deve instanciar uma segunda conta, chamada de guilherme e fazer as mesmas operações que você fez com a conta mauricio, entendeu? =)

Espero ter ajudado, mas qualquer dúvida que você ainda possa ter, não hesite em postar por aqui, no fórum, para que possamos ajudá-lo! =)

Abraço e bons estudos,

Fábio

Opa, beleza? cara da onde você tirou o.

System.out.println(guilherme.saldo);

Porque você não criou nenhum objeto guilherme ai...

 class Programa {   
    public static void main(String[] args) {
        Conta mauricio = new Conta();
        mauricio.numero = 123;
        mauricio.saldo = 800.0;
        mauricio.titular = "Mauricio Aniche";
        mauricio.agencia = 842;

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

    }
}

Repara o seu código não tem nenhum objeto guilherme, e sim mauricio

Então Alisson , resolvi logo depois que postei. Porem me deparei com o seguinte problema :

C:\Users\GUILHERME\Desktop\Logica>javac conta.java
conta.java:7: error: invalid method declaration; return type required
    deposita(double valorASerDepositado) {
    ^
conta.java:8: error: ';' expected
        this.saldo += valorASerDepositado
                                         ^
2 errors

C:\Users\GUILHERME\Desktop\Logica>javac conta.java
conta.java:7: error: invalid method declaration; return type required
    deposita(double valorASerDepositado) {
    ^
conta.java:8: error: ';' expected
        this.saldo += valorASerDepositado
                                         ^
2 errors

codigo :

class Conta {
    int numero;
    String titular;
    double saldo;
    int agencia;

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

 class Programa {   
    public static void main(String[] args) {
        Conta mauricio = new Conta();
        mauricio.numero = 123;
        mauricio.saldo = 800.0;
        mauricio.titular = "Mauricio Aniche";
        mauricio.agencia = 842;

        mauricio.deposita(100.0);

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

        guilherme.deposita(100.0);

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

    }
}

Guilherme,

Esse erro que você está recebendo agora, é que faltou um ponto-e-vírgula no seu código... Dentro do método deposita(), da classe Conta, na seguinte linha:

this.saldo += valorASerDepositado

Só colocar um ponto-e-vírgula no final e deve resolver. =)

Fábio

Falto o ; no meu metodo mano kkkk

Ahahahah , isso acontece .

E para esse código: Agora não é um ponto.

class Conta {
    int numero;
    String titular;
    double saldo;
    int agencia;

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

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

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

 class Programa {   
    public static void main(String[] args) {
        Conta mauricio = new Conta();
        mauricio.numero = 123;
        mauricio.saldo = 800.0;
        mauricio.titular = "Mauricio Aniche";
        mauricio.agencia = 842;

        mauricio.deposita(100.0);        

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

        guilherme.deposita(100.0);

        mauricio.saca(400.0);
        guilherme.deposita(100.0);


        mauricio.transfere(100.0, guilherme);

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

    }
}

C:\Users\GUILHERME\Desktop\Logica>javac conta.java .\conta.java:1: error: duplicate class: Conta class Conta { ^ .\conta.java:23: error: duplicate class: Programa class Programa { ^ conta.java:17: error: cannot access conta void transfere(double valor, conta destino) { ^ bad source file: .\conta.java file does not contain class conta Please remove or make sure it appears in the correct subdirectory of the sourcepath.

solução!

Acho que que você ta passando uma variavel do tipo conta e seria a Classe Conta não seria?

Troca isso

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

para isso

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

Resolvido ,

Valeu Alisson!