Problema de conversão

8 respostas
andoliveira4

Olá novamente, alguem pode me dizer pq q essa conversão para inteiro não funciona???

public class Testando
{
	
	public static void main(String args[])
	{   	
    	int porta_s = 0;
    	String porta = "8000";
	
		System.out.println("porta: " + porta);
	    
	    porta_s = Integer.parseInt(porta);
	    
	    System.out.println("E...: " + porta_s + 10);
	}
}

Obrigado a todos

8 Respostas

W

Acho mais facil fazer por exemplo assim :

import java.lang.*;

public class Conv {

    public static void main(String[] args) {

	String number = "2000";

	Integer n = new Integer(number);
	
	n+=10;
		
	System.out.println("Number : " + n);


    }

}
andoliveira4

eu uzei a sua versao e deu um problema

operator + cannot be applied to java.lang.Integer,int…isso aconteceu na linha “n+=10;

vlw pela ajuda antes de mais nada

W

Estranho eu compilei normal isso.
Tenta substituir

isto :

Integer n = new Integer(number);

por:

Integer n = Integer.valueOf(number);

Nao custa tentar.

//Daniel

marcosbrandao

No primeiro codigo, a conversao para inteiro funciona sim.
Quando executa esta linha:

System.out.println("E...: " + porta_s + 10);

a saida eh : E…800010, quando faz a operacao “E…” + porta_s, o java concatena a String “E…” com o int 8000, ficando E…8000. Depois ele concatena a String “E…8000” com o int 10.

andoliveira4:
eu uzei a sua versao e deu um problema

operator + cannot be applied to java.lang.Integer,int…isso aconteceu na linha “n+=10;

vlw pela ajuda antes de mais nada

Isto ocorre, porque vc deve de estar usando java 1.4 ou inferior.
E na linhan+=10;você esta tentado fazer a soma de um Wrapper Integer.
Integer eh um objeto e nao da pra fazer soma de um Integer.
Lembre-se, Integer != int.

Pra você fazer a soma de n, vc vai ter que fazer uma conversao explicita, ou entao usar o java 1.5, que ja faz implicita atraves de autoBoxing. Se voce mudar a versao do java, vai passar a funcionar.

LPJava

so uma perguntinha… sua versao é 1.5? pq autoboxing so a partir da 1.5.

andoliveira4

o meu não é o 1.5 não

andoliveira4

Não tem como fazer isso com o 1.4???

LPJava

o autoboxing nao… a questao é que o XXparseXX() - ele passa de String para primitivo e vc no seu codigo nao fez isso queria passar de String para String…
Na versão 1.4 nem lembro como fica sem o recurso de autoboxing…

faz isso pra ver

public class Testando   
{   
       
    public static void main(String args[])   
    {         
        int porta_s = 0;   
        String porta = "8000";   

       int num;
        System.out.println("porta: " + porta);   
           
        num = Integer.parseInt(porta);   
porta_s+=num;
           
        System.out.println("E...: " + porta_s + 10);   
    }   
}

Veja se isso funciona eu nao testei… mais é uma possivel solucao…

Criado 18 de outubro de 2007
Ultima resposta 1 de nov. de 2007
Respostas 8
Participantes 4