import java.util.Scanner;

public class Hex2Dec {
  /** Metoda main */
  public static void main(String[] args) {
    // Tworzenie obiektu typu Scanner
    Scanner input = new Scanner(System.in);

    // Wyświetlanie prośby o wpisanie łańcucha znaków
    System.out.print("Wpisz liczbę szesnastkową: ");
    String hex = input.nextLine();

    System.out.println("Wartość dziesiętna liczby szesnastkowej "
      + hex + " to " + hexToDecimal(hex.toUpperCase()));
  }

  public static int hexToDecimal(String hex) {
    int decimalValue = 0;
    for (int i = 0; i < hex.length(); i++) {
      char hexChar = hex.charAt(i);
      decimalValue = decimalValue * 16 + hexCharToDecimal(hexChar);
    }
    
    return decimalValue;
  }

  public static int hexCharToDecimal(char ch) {
    if ('A' <= ch && ch <= 'F')
      return 10 + ch - 'A';
    else // ch to '0', '1', … lub '9'
      return ch - '0';
  }
}
