import java.util.Scanner; public class converterClassAssignment {         public static String baseConvert( String original, int baseFrom, int baseTo )         {                 int v = 0;                 int i = 0;                 int z = 0;                 int temp2 = 0;                 String temp = "";                 String temp3 = "";                 String hex2 = "0123456789ABCDEF";                 for(i = 0; i < original.length(); i++)                 {                         temp = original.substring(i,i+1);                         v = hex2.indexOf(temp);                         z = Integer.parseInt(baseConvert(v, 10, 2));                         temp3 += z;                 }                 temp2 = Integer.parseInt(baseConvert(Integer.parseInt(temp3), 2, 10));                 return baseConvert(temp2, 10, baseTo);         }                   public static String baseConvert( int original, int baseFrom, int baseTo )         {                 int v = 0;                 int i = 0;                 int k = 0;                 int b = 0;                 int x = 0;                 int a = 0;                 int z = 0;                 int idk = 0;                 int nou = 0;                 StringBuffer tempConverterString2 = new StringBuffer("");                 String returnA = "";                 String temp = "";                 String temp2 = "";                 String temp3 = "";                 String[] hex = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B",     "C", "D", "E", "F" };                   if(baseFrom>baseTo)                         {                         v = original;                                 while(((double)v)/baseTo != 0)                                         {                                                   i = v;                                                 v = i/baseTo;                                                 x = i%baseTo;                                                 tempConverterString2.append(x);                                         }                                 return tempConverterString2.reverse().toString();                         }                 else                 {                         v = original;                         if(baseTo == 16 && baseFrom == 2)                                 {                                         temp = Integer.toString(original);                                         double len = temp.length();                                         while(len % 4 != 0) {/* System.out.println(temp);*/ temp = "0" + temp; len = temp.length();}                                         for(i = (temp.length()); 0 < i; i = i - 4)                                         {                                                 temp2 = temp.subSequence(i-4, i).toString()/* + temp2*/;                                                 idk = Integer.parseInt(temp2);                                                 nou = Integer.parseInt(baseConvert(idk, 2, 10));                                                 temp3 = hex[nou] + temp3;                                         }                                         return temp3;                                 }                         else if(baseTo == 16 && baseFrom != 2)                         {                                 int jj = Integer.parseInt(baseConvert(original, baseFrom, 2));                                 return baseConvert(jj, 2, 16);                                                         }                         StringBuffer tempConverterString = new StringBuffer(Integer.toString(original)).reverse(); // tempConverterString = 686                         for(i = 0;i <= tempConverterString.length()-1;i++)                         {                                 k = Integer.parseInt(tempConverterString.substring(i,i+1)); // i == 0; k = 6                                 b = exp(baseFrom, i);                                 z = k * b; // i == 0; k == 6; convertFromBase == 16; z = (6 * 16^0) == 6 // i == 1; k == 8; z = (8 * 16^1) = 128 //                              System.out.println("i: "+i+" k: "+k+" z: "+z+ " b: "+b);                                 a += z;                         }                 }                 returnA += a;                 return returnA;         }             public static int exp( int base, int power )         {                 int i = power;                 int z = base;                 int x = base;                 if (power == 1) { return base;}                 else if (power == 0) { return 1;}                 else if (base == 0) { return 0;}                 else                 {                         for (i = power;i > 1;i--)                         {                                 z = z * x;                         }                         return z;                 }         }         public static void main(String[] args)         {                 Scanner in = new Scanner(System.in);                 String convertFromNumber;// = 0;                 int convertFromNumber2 = 0;                 int convertFromBase = 0;                 int convertToBase = 0;                 double ver = 0.1;                 String output = "";                 String dashes = "----------------";                 String nl = "\n";                 String prompt = "$> ";                   System.out.println("Welcome to Base Converter version "+ver);                 System.out.println(dashes);                 System.out.println();                 System.out.print("Input the integer to convert from." + nl + prompt);                 convertFromNumber = in.nextLine();                   System.out.print(nl+"Input the base"+/*-N*/" value to convert from." + nl + prompt);                 convertFromBase = in.nextInt();                 System.out.print(nl+"Input the base"+/*-M*/" value to convert to."+nl+prompt);                 convertToBase = in.nextInt();                 try                 {                         convertFromNumber2 = Integer.parseInt(convertFromNumber);                         output = baseConvert(convertFromNumber2, convertFromBase, convertToBase);                                         } catch(NumberFormatException e)                 {                         output = baseConvert(convertFromNumber, convertFromBase, convertToBase);                 }                         System.out.println(output);         } }