davidbuzatto 1 de mai. de 2007
Vc precisa escrever o método na mão realmente?
Para inteiros vc pode fazer
String hexaNumero = numero.toString( 233, 16 );
Onde o primeiro parâmetro é o número em sí, o segundo é a base desejada.
Falow!
davidbuzatto 1 de mai. de 2007
public class Teste2 {
public static void main ( String args [] ){
String Hexa = " " ;
int num = 235 ;
while ( num >= 16 ){
int resto = num % 16 ;
num /= 16 ;
if ( resto < 10 ) {
Hexa = resto + Hexa ;
} else {
switch ( resto ) {
case 10 :
Hexa = "a" + Hexa ;
break ;
case 11 :
Hexa = "b" + Hexa ;
break ;
case 12 :
Hexa = "c" + Hexa ;
break ;
case 13 :
Hexa = "d" + Hexa ;
break ;
case 14 :
Hexa = "e" + Hexa ;
break ;
case 15 :
Hexa = "f" + Hexa ;
break ;
}
}
}
if ( num < 10 ) {
Hexa = num + Hexa ;
} else {
switch ( num ) {
case 10 :
Hexa = "a" + Hexa ;
break ;
case 11 :
Hexa = "b" + Hexa ;
break ;
case 12 :
Hexa = "c" + Hexa ;
break ;
case 13 :
Hexa = "d" + Hexa ;
break ;
case 14 :
Hexa = "e" + Hexa ;
break ;
case 15 :
Hexa = "f" + Hexa ;
break ;
}
}
System . out . println ( Hexa );
System . out . println ( Integer . toString ( 235 , 16 ) );
}
}
Pode ser melhorado :D
Falow!
davidbuzatto 1 de mai. de 2007
Cria um método para retornar a letra… O código vai ficar mais enxuto…
Falow!
AndrewAguiar 2 de mai. de 2007
Voce pode usar também o método da classe Integer:
String Hexa = " " ;
int num = 233 ;
Hexa = Integer . toHexString ( num );
System . out . println ( Hexa );