Duvida ENUM

5 respostas
S

Estou estudando enums mas quando eu vou executar o seguinte código ele pede pra eu criar o campo SEGUNDA na classe main, em todos tutoriais os exemplos estão diretos e não Dia.SEGUNDA

public class Main { enum Dia {SEGUNDA, TERCA, QUARTA, QUINTA, SEXTA} public static void main(String[] args) { Dia dia = SEGUNDA; // Aqui aponta erro que preciso criar o campo SEGUNDA na classe System.out.println(dia); } }

Não sei aonde estou errando, obrigado!

5 Respostas

dreampeppers99

Talvez os testes que você viu estavam sendo executados dentro do próprio enum…
Um bom tutorial está nesse link http://java.sun.com/docs/books/tutorial/java/javaOO/enum.html

renamed

Cara, eu mexi pouco com enum em java, mas o pouco que eu vi é BEM diferente de c/c++

Nem gostei muito não.

S

dreampeppers99:
Talvez os testes que você viu estavam sendo executados dentro do próprio enum…
Um bom tutorial está nesse link http://java.sun.com/docs/books/tutorial/java/javaOO/enum.html

Esse foi um dos tutoriais que dei uma olhada, mas como eu vou passar pro costrutor de uma classe um tipo enum?
Quando eu tento instanciar uma variavel do enum como o do meu código acima ele pede pra criar a classe no pacote :frowning:

edmarr

Correção :

public class Main { enum Dia {SEGUNDA, TERCA, QUARTA, QUINTA, SEXTA} public static void main(String[] args) { Dia dia = Dia.SEGUNDA; // Corrigindo seu Erro System.out.println(dia); } }

Explicação :
Vc tem q informar qual enum vai usar, como nao tem um construtor para vc passar um parâmetro e talz .

E vc pode listar os enums assim

public class Main {
	enum Dia {
		SEGUNDA, TERCA, QUARTA, QUINTA, SEXTA
	}

	public static void main(String[] args) {

		for (Dia d : Dia.values()) {
			System.out.println(d);
		}

	}
}
Flavio_Luiz
Esse foi um dos tutoriais que dei uma olhada, mas como eu vou passar pro costrutor de uma classe um tipo enum?
Você pode fazer assim...
public class Main {
        enum Dia {SEGUNDA, TERCA, QUARTA, QUINTA, SEXTA} 
	private Dia dia;
	public Main(Dia dia) {
		this.dia = dia;
	}

        public static void main(String[] args) {  
        Dia dia = Dia.SEGUNDA; 
        Main main = new Main(Dia.TERCA);
        System.out.println(dia);  
        System.out.println(main.dia);  
    }
}
Criado 23 de setembro de 2009
Ultima resposta 23 de set. de 2009
Respostas 5
Participantes 5