?»??»?import java.io.*; import java.util.*; public class translator { public static int record=0; public static HashMap Emap=new HashMap(); public static TreeMap Gmap=new TreeMap(); public static LinkedList Elist=new LinkedList(); public static LinkedList Glist=new LinkedList(); public static void main(String args[]) throws IOException { FileReader fr=new FileReader("hw2.in.txt"); BufferedReader readb=new BufferedReader(fr); String reads; while((reads=readb.readLine())!=null) { for(int i=0;i1)&&(record==0)) { inputs=inputs.toLowerCase(); EtoG(inputs); } else if((inputs.length()>1)&&(record!=0)) { inputs=inputs.toLowerCase(); GtoE(inputs); } else { System.out.println("¿é¤J­Ó¤°»ò§a!!"); select(); } fr.close(); } public static void select() throws IOException { BufferedReader buf=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter transaction type or the word to be interpreted :"); String str=buf.readLine(); str=str.toUpperCase(); if(str.equals("A")) Add(); else if(str.equals("D")) Delete(); else if(str.equals("M")) Modify(); else if(str.equals("P")) Print(); else if(str.equals("E")) EtoG(str); else if(str.equals("G")) GtoE(str); else if(str.equals("C")) Change(); else if(str.equals("X")) Exit(); else if ((str.length()>1)&&(record==0)) { str=str.toLowerCase(); EtoG(str); } else if((str.length()>1)&&(record!=0)) { str=str.toLowerCase(); GtoE(str); } else { System.out.println("¿é¤J­Ó¤°»ò§a!!"); select(); } } public static void Add() throws IOException { BufferedReader Eb=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter the ENGLISH word to be added :"); String Es=Eb.readLine(); if(Emap.containsKey(Es)) System.out.println("³o­Ó¤w¸g¦³¤F³á~¤£­n¨Ó¶Ã!!"); else { BufferedReader Gb=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter the GERMAN word to be added :"); String Gs=Gb.readLine(); Emap.put(Es,Gs); Gmap.put(Gs,Es); } select(); } public static void Delete() throws IOException { BufferedReader removeb=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter the word to be deleted :"); String removes=removeb.readLine(); if(Emap.containsKey(removes)) { BufferedReader anserb=new BufferedReader(new InputStreamReader(System.in)); System.out.println("Sure to delete it? Please type Y or N : y"); String ansers=anserb.readLine(); ansers=ansers.toUpperCase(); if(ansers.equals("Y")) { Gmap.remove(Emap.get(removes)); Emap.remove(removes); System.out.println("Both have been deleted !"); select(); } else select(); } else if(Gmap.containsKey(removes)) { BufferedReader anserb=new BufferedReader(new InputStreamReader(System.in)); System.out.println("Sure to delete it? Please type Y or N : y"); String ansers=anserb.readLine(); ansers=ansers.toUpperCase(); if(ansers.equals("Y")) { Emap.remove(Gmap.get(removes)); Gmap.remove(removes); System.out.println("Both have been deleted !"); select(); } else select(); } else { System.out.println("¨S¦³³o­Ó°­³á~¥´¿ù¶Ü?"); select(); } } public static void Modify() throws IOException { BufferedReader Emodifyb=new BufferedReader(new InputStreamReader(System.in)); System.out.print("·Q§ï¤°»ò°Ç?¿é¤J·Q§ïªº­^¤å:"); String Emodifys=Emodifyb.readLine(); BufferedReader Gmodifyb=new BufferedReader(new InputStreamReader(System.in)); System.out.print("·Q§ï¤°»ò°Ç?¿é¤J·Q§ïªº¼w¤å:"); String Gmodifys=Gmodifyb.readLine(); if(Emap.containsKey(Emodifys)) { BufferedReader Eoutputb=new BufferedReader(new InputStreamReader(System.in)); System.out.print("·Q§ï¦¨¤°»ò­^¤å°Ç:"); String Eoutputs=Eoutputb.readLine(); BufferedReader Goutputb=new BufferedReader(new InputStreamReader(System.in)); System.out.print("·Q§ï¦¨¤°»ò¼w¤å°Ç:"); String Goutputs=Goutputb.readLine(); Emap.remove(Emodifys); Gmap.remove(Gmodifys); Emap.put(Eoutputs,Goutputs); Gmap.put(Goutputs,Eoutputs); } else System.out.println("¸Ì­±¨S¦³ªºªF¦è¤£¯à§ï³á!!"); select(); } public static void Print() throws IOException { System.out.println("=========================================================="); System.out.println(Gmap.entrySet()); System.out.println("=========================================================="); select(); } public static void EtoG(String verb) throws IOException { if(Emap.containsKey(verb)) { System.out.println("=========================================================="); System.out.println("Englisg GERMAN"); System.out.println(verb+" "+Emap.get(verb)); System.out.println("=========================================================="); } else { BufferedReader transb=new BufferedReader(new InputStreamReader(System.in)); System.out.print("¿é¤J·Q½ªº­^¤åÐù:"); String transs=transb.readLine(); if(Emap.containsKey(transs)) { System.out.println("=========================================================="); System.out.println("Englisg GERMAN"); System.out.println(transs+" "+Emap.get(transs)); System.out.println("=========================================================="); } else System.out.println("¨S¦³³o­Ó°­³á~¥´¿ù¶Ü?"); } select(); } public static void GtoE(String verb) throws IOException { if(Gmap.containsKey(verb)) { System.out.println("=========================================================="); System.out.println("GERMAN Englisg"); System.out.println(verb+" "+Gmap.get(verb)); System.out.println("=========================================================="); } else { BufferedReader transb=new BufferedReader(new InputStreamReader(System.in)); System.out.print("¿é¤J·Q½ªº¼w¤åÐù:"); String transs=transb.readLine(); if(Gmap.containsKey(transs)) { System.out.println("=========================================================="); System.out.println("GERMAN Englisg"); System.out.println(transs+" "+Gmap.get(transs)); System.out.println("=========================================================="); } else System.out.println("¨S¦³³o­Ó°­³á~¥´¿ù¶Ü?"); } select(); } public static void Change() throws IOException { if(record==0) { record=1; System.out.println("²{¦b¬O¼w½­^!!"); } else { record=0; System.out.println("²{¦b¬O­^½¼w!!"); } select(); } public static void Exit() throws IOException { BufferedReader anserb=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Exit ? Please type Y or N :"); String ansers=anserb.readLine(); ansers=ansers.toUpperCase(); if(ansers.equals("Y")) System.out.println("Thank you!"); else select(); } }