GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Java/Programs/Soundex.java at main · arshcoder13/Java Expand file tree/ Copy pathSoundex.javaMore file actions 102 lines (82 loc) · 2.35 KB / Copy pathSoundex.javaFile metadata and controls102 lines (82 loc) · 2.35 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 /* The main principle behind Soundex algorithm is that consonants are grouped depending on the ordinal numbers and finally encoded into a value against which others are matched. It aims to find a code for every word by above process which is called soundex code. */ public class Soundex { public static String getGode(String s) { char[] x = s.toUpperCase().toCharArray(); char firstLetter = x[0]; //RULE [ 2 ] //Convert letters to numeric code for (int i = 0; i < x.length; i++) { switch (x[i]) { case 'B': case 'F': case 'P': case 'V': { x[i] = '1'; break; } case 'C': case 'G': case 'J': case 'K': case 'Q': case 'S': case 'X': case 'Z': { x[i] = '2'; break; } case 'D': case 'T': { x[i] = '3'; break; } case 'L': { x[i] = '4'; break; } case 'M': case 'N': { x[i] = '5'; break; } case 'R': { x[i] = '6'; break; } default: { x[i] = '0'; break; } } } //Remove duplicates //RULE [ 1 ] String output = "" + firstLetter; //RULE [ 3 ] for (int i = 1; i < x.length; i++) if (x[i] != x[i - 1] && x[i] != '0') output += x[i]; //RULE [ 4 ] //Pad with 0's or truncate output = output + "0000"; return output.substring(0, 4); } public static void main(String[] args) { String name1 = "Tail"; String name2 = "Tale"; String name3 = "Tailor"; System.out.println(Soundex.getGode(name1)); System.out.println(Soundex.getGode(name2)); System.out.println(Soundex.getGode(name3)); } } /* t is clear from above output that words “tail” and “tale” have same code. Hence they are phonetic. Word “tailor” has different code because it’s not phonetic same. */ |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |