Originariamente inviato da Sylar
int esadecimale;
esadecimale=15;
int i=0;
int j =0;
String s;
s = Integer.toString(esadecimale);
String bin[] = new String [s.length()];
for(i=0; i<s.length(); i++){
switch(s.charAt(i)){
....
Scusa ma così non vedo nulla di "esadecimale" ....
Se proprio vuoi l'esadecimale, allora usa il metodo toString che prende in input anche il 'radix' (da mettere a 16, chiaramente).
Così non sarebbe meglio?
codice:
public class Prova
{
public static void main (String[] args)
{
int val = 4660; /* in hex 0x1234 */
String[] arr = toBinStrArray (val);
for (String s : arr)
System.out.println (s);
}
public static String[] toBinStrArray (int valore)
{
String s = Integer.toBinaryString (valore);
while (s.length () % 4 != 0)
s = "0" + s;
int n = s.length () / 4;
String[] arr = new String[n];
for (int i = 0, j = 0; i < n; i++, j+= 4)
arr[i] = s.substring (j, j+4);
return arr;
}
}