Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

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!