import java.util.Scanner; public class converterClassAssignment {           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 (power == 2) {return base * base;}                 else if (base == 0) { return 0;}                 else                 {                         for (i = power;i > 1;i--)                         {                                 z = z * x;                         }                         return z;                 }         }         public static void main(String[] args)         {                 int convertFromNumber = 0; //              int convertResultNumber = 0;                 int convertFromBase = 0;                 int convertToBase = 0;                 int i = 0;                 int k = 0;                 int v = 0;                 int x = 0;                 int z = 0;                 int a = 0;                 int b = 0;                 double ver = 0.1;                 String[] hex = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B",     "C", "D", "E", "F" };                 StringBuffer tempConverterString2 = new StringBuffer("");                 String dashes = "----------------";                 String nl = "\n";                 String prompt = "$> ";                 Scanner in = new Scanner(System.in);                                 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.nextInt();                 System.out.print(nl+"Input the base-N value to convert from." + nl + prompt);                 convertFromBase = in.nextInt();                         for(b = (Integer.toString(convertFromNumber).length()-1);b > 0;b--){if (Integer.parseInt(Integer.toString(convertFromNumber).substring(b,b+1)) > convertFromBase) { System.out.print("That number is invalid!");}}                 System.out.print(nl+"Input the base-M value to convert to."+nl+prompt);                 convertToBase = in.nextInt();                 if(convertFromBase>convertToBase)                         {                         v = convertFromNumber;                                 while(((double)v)/convertToBase != 0)                                         {                                                                 i = v;                                                 v = i/convertToBase;                                                 x = i%convertToBase;                                                 tempConverterString2.append(x);                                         }                         System.out.println(tempConverterString2.reverse());                         }                 else                 {                         StringBuffer tempConverterString = new StringBuffer(Integer.toString(convertFromNumber)).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(convertFromBase, 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; //                                      if(convertToBase == 16) //                                              tempConverterString2.append(hex[i]);                         }                         System.out.println(a);                 }                   } }