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

Erro ao imprimir

Ao imprimir o código não roda e aparece a seguinte mensagem:

"Editor does not contain a main type"

Não há nenhuma mensagem de erro no código .

Como resolver?

15 respostas

pode mostrar o código?

Cliente.java


public class Cliente {

    private String nome;
    private String cpf;
    private String profissao;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCpf() {
        return cpf;
    }

    public String getProfissao() {
        return profissao
    }

    public void setProfissao(String profissao) {
        this.profissao = profissao;
    }
}

Conta.java

public class Conta {
    private double saldo;
    private int agencia;
    private int numero;
    private Cliente titular;

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

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

    public boolean transfere(double valor, Conta destino) {
        if (this.saldo >= valor) {
            this.saldo -= valor;
            destino.deposita(valor);
            return true;
        } 
        return false;
    }

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

    public int getNumero() {
        return this.numero;
    }

    public void setNumero(int numero){
        if(numero<=0) {
            System.out.println("nao pode valor <=0");
            return;
        }
        this.numero = numero;
    }

    public int getAgencia() {
        return this.agencia;
    }

    public void setAgencia(int agencia) {
        if(agencia<=0) {
            System.out.println("nao pode valor menor ou igial a 0");
            return;
        }

        this.agencia = agencia;
    }

    public void setTitular(Cliente titular) {
        this.titular = titular;
    }

    public Cliente getTitular( ) {
            return titular;
        }

}

TestaGetESet.java

public class TestaGetESet {

public static void main(String[] args) {
    Conta conta = new Conta();
    //conta.numero = 1337;
    conta.setNumero(1337);
    System.out.println(conta.getNumero());

    Cliente paulo = new Cliente();
    //conta.titular = paulo;
    paulo.setNome("paulo silveira");

    conta.setTitular(paulo);

    System.out.println(conta.getTitular().getNome());

}

} `

`

Vi somente 2 pequenos erros:

  1. faltando ponto e vírgula no getProfissao()
  2. remover ponto depois do return em getSaldo()

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

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

Resultado:

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

O problema continua....

Oi Ricardo, poderia me mandar a tela do Eclipse com o erro?

Imagem com o prompt de erro

É essa mensagem que aparece, Estava normal até então.

Opa Ricardo, tudo bem? O que pode estar acontecendo, é que você pode estar tentando executar um Classe ao invés do código Main. Vou pedir para você clicar com o botão direito no código TesteGetESet.java, ir em Run As > 1 Java Application.

Agora acredito que vai ser possível executar!

Mas é desse jeito que estou tentando acessar. E dá essa mensagem.

O meu também está assim. Alguém mais está assim? Alguma solução pra esse caso?

Creio que em ambos os casos vcs estejam tentando rodas uma classe e não o "codigo main". Sendo beeeem resumido, precisam executar o codigo que tem a linha "public static void main(String[] args) {" ...

Não. Estou executando o código que possui a linha. o Eclipse sequer permite que rode. eu instalei um versão mais recente do Eclipse e o problema continua o mesmo. No exercício do Cap. 3 eu usei a solução final do cap 2 para começar esse novo capítulo. Podia ser algum erro que tenha passado desapercebido. Continua a mesma coisa. Um dos códigos mencionados pelo instrutor no cap 3 não faz parte da solução final do cap 2 e eu fui digitar. Ele não reconhece o MAIN. No meio da digitação apareceu essa tela aí. Foi aí que eu desisti e vi não tinha condição de avançar mais.

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

Encontrei em outro fórum um problema parecido com o seu, é possível que o seu projeto esteja fora da pasta "src" no Packge Explorer, manda um print desta parte.

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

Segue a foto. Não sei como fazer para colocar na vertical, desculpem.

O que eu percebi:

Se compararmos com os projetos anteriores (Bytebank e Bytebank-composto), a pasta default package não foi criada. Eu fiz um teste criando 2 projetos, Teste e teste 12, e também default package não foi criado em ambas, ou seja, não está mais sendo gerado. Tentei copiar a pasta src inteira do projeto anterior bytebank-composto para a pasta teste que criei e deu certo, voltou a funcionar.

A questão é que nos novos projetos que vier a criar a pasta default package não está sendo gerada e os arquivos estão indo direto para a raiz do src - e aí volto a condição inicial do problema. Como resolver? Só consigo copiar o src inteiro, não consigo copiar o default package sozinho.

Insira aqui a descrição defoto solicitada da raiz do diretório

solução!

Olá Ricardo!

Crie um projeto Java do Zero:

  1. Menu FIle
  2. New
  3. Project
  4. Java Project : NOME_DO_PROJETO

Copie suas classes na pasta src/(default package) do novo projeto.

botão direito sobre a classe TestaGetESet e run as java application

Veja como ficou no meu eclipse, a execução do projeto:

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

Valeu!