Minggu, Januari 22, 2012

[algoritma] Hex2Dec


package com.apiep.java;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Untitled1 {
private static BufferedReader dataMasuk;
/**
* @param args
*/
public static void main(String[] args) {
dataMasuk = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Masukkan bilangan hexadesimal : ");
String bilanganMasuk = "";
try {
bilanganMasuk = dataMasuk.readLine();
} catch (IOException e) {
e.printStackTrace();
}
int hasil = 0;
if( ! isHexadesimal(bilanganMasuk) ) {
System.out.println("Bukan hexadesimal!");
}else{
hasil = hexadesimalToInteger(bilanganMasuk);
}
System.out.println("Hasil = " + hasil);
}
private static int hexadesimalToInteger(String bilanganMasuk) {
// Membuat salinan dari argumen bilangan masuk
String bil = bilanganMasuk;
// mengambil string index(2) sampai karakter terakhir dari string
String str = bil.substring(2, bil.length());
// mengubah string menjadi integer dengan bilangan hexadesimal
// *angka 16
int hasil = Integer.parseInt(str, 16);
return hasil;
}

private static boolean isHexadesimal(String s) {
// Untuk menampung karakter "0x" dr argumen
char checker1 = s.charAt(0);
char checker2 = s.charAt(1);
// String seharusnya = "0x";
String stringYangCek = toString(checker1, checker2);
// Jika ada string "0x" maka hexadesimal
if(stringYangCek.equals("0x")){
return true;
} // Jika tidak
else{
return false;
}
}
// Method untuk menghubungkan karakter "0" & "x"
private static String toString(char charAt, char charAt2) {
return charAt + "" + charAt2;
}

}

Tidak ada komentar:

Poskan Komentar

Pengunjung yang kurang paham pasti berkomentar ^.^