Meu programa não compila III

5 respostas
E

Ola Pessoal Tudo Bem??????

Bom já postei anteriormente duas msg´s ref. a programas que não compilam, peço a paciencia de alguns caso seja muito repetitivo, mas é pq estou aprendendo sozinho, ou melhor com uma apostila que muitas vezes esta incorreta, confusa, ou sou eu mesmo que fico confuso... rsrsrs

Mas vamos lá... Estou com um código tentando resolver o seguinte

class Exercicio_2_a 
{ 
public static void main(String[]args) 
{ 
    int dias=0, meses=0, ano=0, numDias; 

    dias=18; 
    meses=10; 
    ano=1984; 

    System.out.println(dias + "/" + meses + "/" + ano); 

    switch (meses) 
    { 
        case 1: 
   case 3: 
   case 5: 
   case 7: 
   case 8: 
   case 10: 
   case 12: numDias=31; 
   		System.out.println(numDias + " dias no mes");
        break; 

        case 2: numDias=28;
        System.out.println(numDias + " dias no mes");
        break; 

        case 4: 
        case 6: 
   case 9: 
   case 11: numDias=30; 
   		System.out.println(numDias + " dias no mes");
        break; 
     } 
    
	for (int cont=numDias;cont>=0;cont--)
     {
     	//System.out.println(cont);
     	System.out.println(numDias + "/" + meses + "/" + ano ); 
     }
} 
}

gostaria que o programa lê-se a data acima e imprimisse todos os dias daquele mês...

Se alguém poder me responder e deixar uma breve obs.. do pq este programa não esta funcionando agradeço!!

Valeu Galera!! 8O [/code]

5 Respostas

F

O que está acontecendo é o seguinte:
Você criou a variável numDias, mas não inicializou ela, aí quando lá em baixo vc faz um for( int cont = numDias… , o sistema indica que a variável numDias não foi inicializada, mesmo vc atribuindo um valor pra ela no meio do seu código. Mas o programa não tem como advinhar que você setou algum valor ou não, ok??

Basta vc fazer isso na sua variável numDias:

numDias = 0;

Abraços.

F

o erro que da é que vc nao iniciou a variavel numDias

o seu…

int dias=0, meses=0, ano=0, numDias;

o certo…

int dias=0, meses=0, ano=0, numDias=0;

ai o programa roda…

B

Ola

Bom, o seu programa não compila pq a variavel “numDias” não foi inicializada… e o java implica caso vc use uma variaável que pode não ser inicializada…

Neste caso de declara ela e a inicializa dentro dos blocos “case”, mas nada garante que vai entrar num destes blocos… então o compilador reclama, pq se usa ela logo abaixo, como inicializador do count no for.

F

:slight_smile:

E

Muito Obrigado a Todos os Amigos que Me Responderam!!

É bom poder contar com esta comunidade, e quero eu um dia poder ajudar os outros a entender melhor esta linguagem que me fascina!!

Grato A Todos…

Criado 23 de agosto de 2006
Ultima resposta 23 de ago. de 2006
Respostas 5
Participantes 4