Código não Incrementa

Oi pessoal… sou novo no desenvolvimento em JAVA e gostaria de saber porque o seguinte código não incrementa o valor do código para 2 e 3 e fica apenas com o valor 1…

public class Filme
{

UtilConstrutor ut = new UtilConstrutor();

private static int codigo = 0;
private String titulo;
private String categoria;
private String ano_Lancamento;
private String produtora;
private String diretor;
private String midia;

public void setFilme (int cod, String tit, String cat, String ano, String prod, String diret, String mid)
{
codigo = cod;
titulo = tit;
categoria = cat;
ano_Lancamento = ano;
produtora = prod;
diretor = diret;
midia = mid;
}

public void mostra_Dados_CadFilme()
{
ut.saida ("CÓDIGO: "+codigo+
"\nTÍTULO: "+titulo+
"\nCATEGORIA: "+categoria+
"\nANO: "+ano_Lancamento+
"\nPRODUTORA: "+produtora+
"\nDIRETOR: "+diretor+
"\nMÍDIA: "+midia);
}

}

public class KAHNLOC
{
public static void main (String[] args)
{

  Adicionais adic = new Adicionais();       //Cria o objeto "adic", referente a classe "Adicionais"
  UtilConstrutor ut = new UtilConstrutor(); //Cria o objeto "ut", referente a classe "UtilConstrutor"
  
  Cliente cli = new Cliente();              //Cria o objeto "cli", referente a classe "Cliente"
  Filme fil = new Filme();	      			//Cria o objeto "fil", referente a classe "Filme"
  
  
  
  //INICIO DO CADASTRO DE FILMES
  for (int i = 0; i <= 2; i++)
  {
  
  int codigo = adic.acrescenta();  //método criado para acrescentar 1 toda vez que esse for chamado
  String titulo = ut.entrada("DIGITE O TÍTULO DO FILME:");
  String categoria = ut.entrada("DIGITE A CATEGORIA:");
  String ano_lanc = ut.entrada ("DIGITE O ANO DE LANÇAMENTO");
  String produtora = ut.entrada("DIGITE A PRODUTORA:");
  String diretor = ut.entrada("DIGITE O NOME DO DIRETOR(A):");
  String midia = ut.entrada("DIGITE O TIPO DE MÍDIA:");
  
  
  
  fil.setFilme (codigo, titulo, categoria, ano_lanc, produtora, diretor, midia);
  
  fil.mostra_Dados_CadFilme ();
  }
  //FIM DO CADASTRO DE FILMES

}

Você mostrou tudo menos o código que tem o problema. Poste o código do método acrescenta()…

Posta o código da sua classe Adicionais, mais especificamente o método “acrescenta()” …

Mas de qualquer maneira, já há alguns erros aí… esse método acrescenta lê o valor atual de onde? Não há parâmetros sendo passados pra ele…

Sempre que postar códigos coloca dentro da tag “Code”

assim fica mais visível…

e cadê o método acrescenta() ??

Sua classe adicionais seria mais ou menos assim.


public class Adicionais 
{
   public static cont = 0;

   public int acrescenta()
        {
            cont++;
            return cont;

         }



}
Adicionais adic = new Adicionais()

public class Adicionais
{
public enum categoria
{
AÇÃO, AVENTURA, COMÉDIA, DOCUMENTARIO, DRAMA, ERÓTICO, FICÇÃO, INFANTIL, MUSICAL, POLICIAL, SERIADO, TERROR;
}

public enum uf
{
AC, AL, AM, AP, BA, CE, DF, ES, GO, MA, MG, MS, MT, PA, PB, PE, PI, PR, RJ, RN, RO, RR, RS, SC, SE, SP, TO;
}

public enum midia
{
DVD, BLURAY;
}

public enum logradouro
{
Av, Rua, Travessa, Praça;
}

public int acrescenta()
{
int n = 0;
return n += 1;
}

}

[quote=adriano kahn]public class Adicionais
{
public enum categoria
{
AÇÃO, AVENTURA, COMÉDIA, DOCUMENTARIO, DRAMA, ERÓTICO, FICÇÃO, INFANTIL, MUSICAL, POLICIAL, SERIADO, TERROR;
}

public enum uf
{
AC, AL, AM, AP, BA, CE, DF, ES, GO, MA, MG, MS, MT, PA, PB, PE, PI, PR, RJ, RN, RO, RR, RS, SC, SE, SP, TO;
}

public enum midia
{
DVD, BLURAY;
}

public enum logradouro
{
Av, Rua, Travessa, Praça;
}

public int acrescenta()
{
int n = 0;
return n += 1;
}

}[/quote]

public int acrescenta() { int n = 0;// <- essa variavel deve ser estática, declare-a como vc declarou na outra classe return n += 1; }

Do jeito que está aqui, cada vez que você chama o método, a variável é zerada, e sempre retornará 1.
Declare-a fora do método:

private static int n=0; public int acrescenta() { //essa linha não é mais necessária: //int n = 0; return n += 1; }

Tudo bem… essa parte do incremento eu ja entendi e coloquei a variavel da função acrescenta como static iniciando em 0… Essa parte já ta funcionando muito bem… Agora eu gostaria de saber como fazer com que os campos que utilizem uma das classes validas, como CATEGORIA E MIDIA só aceitem o que está no ENUM refereciado… Obrigado a todos e Bons estudos!!!

Adriano,

Abra outro tópico ou procure por tópicos relacionados à ENUM para não tirar o foco do post.
:wink: