"Untitled" By gando (https://pastebin.com/u/gando) URL: https://pastebin.com/uAkQuzYn Created on: Wednesday 21st of September 2011 04:45:57 PM CDT Retrieved on: Saturday 31 of October 2020 07:57:51 AM UTC 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); } }