Variable num might not have been initialized

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

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

1 curtida
int num = 1;

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.

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

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

1 curtida

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