Variable num might not have been initialized

6 respostas
flaviowd

Pessoal, tudo bem?

Sou novo por aqui, to começando na facul (FATEC-SJC) e sou novo em programação também.

Enfim, tenho um codigo assim:

import java.util.Scanner;
public class L4Q21

{
	public static void main (String args[])
	
	{
		Scanner ler = new Scanner (System.in);
		//declarando ...
		int num1, num2, num3, menor, num, maior ;

E ai quando mando imprimir, ele da o seguinte erro:

C:\java\lista04\L4Q21.java:85: variable num might not have been initialized
                        System.out.printf("\nOs Números em ordem crescente são:  %d, %d e %d.\n", menor, num, maior);                       
                                                                                                         ^
1 error

Process completed.

Ele me diz que a variavel num nao foi inicializada e eu nao stou entendendo o porque deste erro:

Tenta uma tecnica de POG (isso é POG não é? ) eu fiz assim:

num=0; e ai ele executou e nao deu nenhum erro.

Se alguem puder me dar uma luz, eu agradeço …

Abraços

Flávio Araújo
São José dos Campos

6 Respostas

fabim

Isso não é POG. Variaveis com escopo de métodos DEVEM ser inicializadas, SE usadas em alguma instrução.

dicabeca
int num = 1;
B

Ola,

É simples, vc declarou suas variáveis: int num1, num2, num3, menor, num, maior ;
E deve tá tentando usa-las, mas pra isto vc tem que inicia-las… um exemplo de como daria este erro:

int num1, num2, num3, menor, num, maior ; //delcarou.. e logo abaixo vc tenta usar; int x= num1+num2;//dá este erro aqui.

guivirtuoso

Bom Dia Flavio,

No java, apenas os atributos da Classe tem valores de inicialização.
Qualquer variavel que seja dentro de método tem que ter um valor inicial antes de sofrer qualquer tratamento;

Ex:

public class Teste() {

    private int x;

    public void testando() {
        int y = 5;
        int z;
        System.out.println(x); // Vai printar 0 que é o valor default p/ int
        System.out.println(y); // Vai printar 5;
        System.out.println(z); // Vai dar erro de variavel nao inicializada.
    }

}

Atenciosamente,

Guilherme Virtuoso

flaviowd

Pessoal, segundo a resposta do meu professor que olhou o código é o seguinte:

Bem, o problema é o seguinte, baseado nesta nova questão entao, como resolver isso? declarar ea como num=0?

Abraços,

Flávio Araújo
São José dos Campos

emanuelCruz

Seu código deve possuir vários if, mas não um else, para caso todas as alternativas anteriores retornem falso.

Criado 17 de março de 2008
Ultima resposta 17 de mar. de 2008
Respostas 6
Participantes 6