Problema com Enum

2 respostas
pardim7

Alguém por gentileza pode me dizer qual o problema com o meu Enum?

Ignorem o Scanner e outras funções da classe saída.

public enum Descrever {

		INSS("  Se o funcionário tiver o salario de R$ 622,00 até R$ 2250,00 o desconto será de 7%, caso contrário de o salario for maior que R$ 2250,00 ele terá um desconto de 11%"), 
		IR("O calculo de IR é apenas para os funcionários que possuem o salario superior a R$ 2250,00"),
		descontoSindicato ("Desconto de um dia dos 22 dias trabalhados"),
		VR("Desconto 3% sobre o salario do funcionário"),
		VT("Desconto 6% sobre o salario do funcionário" );
		
		private final String Calcular;
	
		
		Descrever(String Calcule){
			Calcular = Calcule
			}
            
		public String getCalcule(){
			return Calcular;
		}
		
		
		
		
	}
import java.util.Scanner;

public class Saida extends Construcao {

	
	public static void main(String[] args) {
	
		Construcao Saida  = new Construcao();
		
	
		
		Scanner entrada = new Scanner (System.in);
		
		
	double salario ;
		
		System.out.println ("Digite seu salario");
		
		salario = entrada.nextInt();
		
		
		System.out.println("Valor com  Desconto do VT    "+ salario/Saida.getDescontVT());	
		
		
		
		double b = 0.3;
		
		
		System.out.println("Valor com Desconto do  VT "+salario/b  );
		
		
		
	     if( salario< 2250 ){ 
	         System.out.println("Sem desconto do IR");
	     
	     }else
	     

	      System.out.println("IR "+salario/11);

	      int f = 364;
	   
	            
	      Saida.setSalarioaodia(salario/f);
	 
	      System.out.println("Descontos do Sindicato "+Saida.getSalarioaodia());
	    
	      
	    
	   System.out.println("Desconto de 7.5 para seu salario" +Saida.getINSSmin());
	
	   
	   for(Descrever Descrever : Descrever.values())

		 System.out.println(Descrever);   
		   
		}
	}

2 Respostas

pmlm

Assim por alto, naquele for final tens de dar à variável um nome diferente da enum. Descrever Descrever quer-me parecer que deve baralhar o compilador…

EDIT: Também não deves usar uma variável com nome Saida numa class com nome Saida.

Fexx

Primeiro no seu enum, está faltando um ponto e virgula no calcule dentro do construtor, e você está declarando variáveis com nomes de Classes.

E no laço foreach você está definindo duas classes Descrever, sendo que uma é variável então tem que ser com o nome minusculo .
veja:

for(Descrever Descrever : Descrever.values())  
  
         System.out.println(Descrever);     
             
        }  
    }

tente assim:

for(Descrever descre : Descrever.values())  
  
         System.out.println(descre);     
             
        }

ou assim para exibir as descrições

for(Descrever descre : Descrever.values()) { 
  
         System.out.println(descre.getCalcule());

             
        }

Lembrando que é aconselhável e recomendado que use as regras e convenções de nomenclatura do java.

Criado 17 de janeiro de 2012
Ultima resposta 18 de jan. de 2012
Respostas 2
Participantes 3