High Fashioners Issue # 2 | Página 225

J. E. N. I.
165 adalah sama dengan A5 base 16. Catatan: A = 10.
Berikut ini merupakan solusi iterative untuk masalah diatas.
class DecToOthers { public static void main( String args []) { int num = Integer. parseInt( args [ 0 ]); int base = Integer. parseInt( args [ 1 ]); printBase( num, base);
} static void printBase( int num, int base) { int rem = 1; String digits = " 0123456789abcdef "; String result = ""; /* the iterative step */ while( num!= 0) { rem = num % base; num = num / base; result = result. concat( digits. charAt( rem)+"");
} /* printing the reverse of the result */ for( int i = result. length()-1; i >= 0; i--) {
System. out. print( result. charAt( i));
}
}
}
Berikut ini merupakan recursion untuk masalah yang sama dengan solusi sebelumnya.
class DecToOthersRecur { static void printBase( int num, int base) { String digits = " 0123456789abcdef "; /* Recursive step */ if( num >= base) { printBase( num / base, base);
} /* Base case: num < base */ System. out. print( digits. charAt( num % base));
} public static void main( String args []) { int num = Integer. parseInt( args [ 0 ]); int base = Integer. parseInt( args [ 1 ]); printBase( num, base);
}
}
Pengenalan Pemrograman 2 4