//Soundex in Java public class SoundEx { public static String SoundEx(String z) { char[] n = z.toUpperCase().toCharArray(); char StringX = n[0]; for (int i = 0; i < n.length; i++) { switch (n[i]) { case 'B': case 'F': case 'P': case 'V': { n[i] = '1'; break; } case 'C': case 'G': case 'J': case 'K': case 'Q': case 'S': case 'X': case 'Z': { n[i] = '2'; break; } case 'D': case 'T': { n[i] = '3'; break; } case 'L': { n[i] = '4'; break; } case 'M': case 'N': { n[i] = '5'; break; } case 'R': { n[i] = '6'; break; } default: { n[i] = '0'; break; } } } String Sx = "" + StringX; for (int i = 1; i < n.length; i++) if (n[i] != n[i-1] && n[i] != '0') Sx += n[i]; Sx = Sx + "0000"; return Sx.substring(0, 4); } public static void main(String[] args) { String L1 = args[0]; String L2 = args[1]; String m1 = SoundEx(L1); String m2 = SoundEx(L2); System.out.println(m1 + ": " + L1); System.out.println(m2 + ": " + L2); } }