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

Dúvida no Ex. 4 da Aula 1 - Herança, reescrita e polimorfismo ERROR main method not found

Ola,

Apos compilar meu code com a diretiva javac Conta.java estou tentando executar o programa com o comando java Conta. O seguinte erro esta sendo exibido:

Error: Main method not found in class Conta, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application

Acontece que eu declarei o metodo main, mas parece que o interpretador nao esta encontrando o metodo. Pesquisei no google mas nao encontrei solucao para o problema. Alguem tem uma dica? Obrigada

public class Conta { protected double saldo;

public double getSaldo() { return this.saldo; }

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

public double saca(double valor) { if(this.saldo >= valor) { this.saldo -= valor; return this.saldo; } else { return 0; } }

public void atualiza(double taxa){ this.saldo += this.saldo taxa; } } // subclasses class ContaCorrente extends Conta{ public void atualiza(double taxa){ this.saldo += this.saldo 2 * taxa; } }

class ContaPoupanca extends Conta{ public void atualiza(double taxa) { this.saldo += this.saldo 3 taxa; }

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

class TestaConta { public static void main (String[] args) { Conta c = new Conta(); ContaCorrente cc = new ContaCorrente(); ContaPoupanca cp = new ContaPoupanca();

c.deposita(1000); cc.deposita(1000); cp.deposita(1000);

c.atualiza(0.01); cc.atualiza(0.02); cp.atualiza(0.03);

System.out.println(c.getSaldo()); System.out.println(cc.getSaldo()); System.out.println(cp.getSaldo()); } }

4 respostas
solução!

Helen, talvez seria pelo fato das classes estarem no mesmo arquivo, e como pode ter apenas uma public em um mesmo arquivo, o método main precisa estar na classe que tenha o modificador public nela.

Valeu!!

Helen, a resposta do Douglas está correta. Crie arquivos separados para suas classe principal e de teste. Como boa prática separe todas as classes em arquivos diferentes com o mesmo nome da classe: - Conta - ContaPoupanca - TestaConta

Verifique também: - Seu método "atualiza(double taxa)" esta com erro de sintaxe porque não está somando a taxa. Tanto na classe "Conta" quanto na "ContaPoupança".

Acho que é isso... e ai deu certo? rs

Bons estudos.

Deu certo sim!! Muito obrigada pelas super dicas =)