Socorro o long acha que é int [Resolvido]

5 respostas
D
public class Inicial {
    
    public static void main(String[]args){
        
        int x = Integer.MAX_VALUE;
        Long a = new Long(Long.MAX_VALUE);
        
        System.out.println(x);
        System.out.println(a);
    }

}

Resultado:

[telefone removido]
9223372036854775807

Porque quando atribuo o valor 9223372036854775807 para um long da erro:

EX:

public class Inicial {
    
    public static void main(String[]args){
        
        int x = Integer.MAX_VALUE;
        Long a = new Long(0);
        
        a = 9223372036854775807; <<<< RETORNA ERRO.
        
        System.out.println(x);
        System.out.println(a);
    }

}

Se 9223372036854775807 é o valor máximo porque da erro se tento atribuir um valor maior que Integer ???

5 Respostas

B
public class Inicial {  
      
    public static void main(String[]args){  
          
        int x = Integer.MAX_VALUE;  
        Long a = new Long(0);  
          
        a = 9223372036854775807L; // veja bem... aqui pus uma letra L
          
        System.out.println(x);  
        System.out.println(a);  
    }  
  
}

Por que é que a letra L no final do número fez seu programa funcionar? Isso fica como exercício

D

VALEU VEI

:smiley: :smiley: :smiley: :smiley: :smiley: :smiley:

D

Outra coisa, sou novo no Fórum.

Como faço para dar como resolvido esta pergunta ??

D

Sim, o L no final do valor indica que o mesmo é long para assim poder inseri-lo na variável.

WellingtonRamos

Para marcar como resolvido, veja neste tópico: http://www.guj.com.br/java/287484-gujnautas-how-to

Agora, você entendeu qual foi o erro e porque o ‘L’ resolveu?

Criado 4 de fevereiro de 2013
Ultima resposta 4 de fev. de 2013
Respostas 5
Participantes 3