close
標題:

java.io問題

發問:

aa.jpg

 

此文章來自奇摩知識+如有不便請留言告知

如果我有一個txt 的 電話表,內容是 :225-1493222-6397258-2776258-2786225-5669265-4286266-6677754-7669724-3623469-2837526-4272521-4342288-6397222-6307774-6865535-7543438-3663462-6453258-2776563-3227560-3429265-4283438-9355738-4357829-4222872-6245946-3697226-6245638-9473 (總共30組)然後又有一個英文的txt對照表,內容是... 顯示更多 如果我有一個txt 的 電話表,內容是 : 225-1493 222-6397 258-2776 258-2786 225-5669 265-4286 266-6677 754-7669 724-3623 469-2837 526-4272 521-4342 288-6397 222-6307 774-6865 535-7543 438-3663 462-6453 258-2776 563-3227 560-3429 265-4283 438-9355 738-4357 829-4222 872-6245 946-3697 226-6245 638-9473 (總共30組) 然後又有一個英文的txt對照表,內容是 : CBCNEWS CTVNEWS LANGARA SCIENCE GOWATER SKISNOW HELPZOO KELPKID GETFOOD GOAMILE CLUBPRO ILOVEIT NETWISE CALLATT TRUSTUS ANOTHER TAXICAB CPOLICE ONRADIO PETHELP WINDOWS USAMAIL CANMAIL GETWELL DOITNOW PRINTOK BBCNEWS INWATER KNEECAP CALLNOW COLGATE BALLNOW CVVMEWS (總共是33組單字) 我要怎麼用java.io讓他去確定電話號碼之間的轉換?? 例如說 225-1493 在英文對照表裡面找不到, 他就顯示 : 找不到, 而 222-6397 他就會自動顯示 cbcnews, 更新: 我忘記講規則了抱歉 abc = 2 def = 3 ghi = 4 jkl = 5 mno = 6 prs = 7 tuv = 8 wxy = 9 0跟1不代表任何字母

最佳解答:

import java.io.*; import java.util.*; public class Lookup { public static void main(String[] args) throws Exception { List strings = readTextFile("strings.txt"); List numbers = readTextFile("numbers.txt"); Trie t = new Trie(strings); for (String number : numbers) { List result = t.lookup(number); if (result.isEmpty()) { System.out.println(number + ": (No match)"); } else { System.out.print(number + ": "); for (String s : result) { System.out.print(s + " "); } System.out.println(); } } } private static List readTextFile(String path) throws IOException { BufferedReader r = null; List list = new ArrayList(); String line = null; try { r = new BufferedReader(new FileReader(path)); while ((line = r.readLine()) != null) { list.add(line); } } finally { if (r != null) { r.close(); } } return list; } } 2010-12-04 09:47:04 補充: Program can't fit here. Contact me for class Trie.

其他解答:

1.讀取英文的txt的內容 2.將內容依規則轉換成數字 3.轉換後的數字跟輸入的字一樣就輸出|||||兩組長度不同,你要怎麼知道『222-6397 對應 cbcnews』呢? 如果你沒辦法把下規則的話,就沒辦法寫成程式、邏輯,給電腦去執行BFC66BE0445C3814
arrow
arrow

    pxrnjl7 發表在 痞客邦 留言(0) 人氣()