2011年4月19日
<Java> JVA401-英文一點通
(這題的版面配置沒寫好 圖形有些醜)
重點:
1. 讀檔
2. 字串處理
3. map的方法
==========================
import java.util.* ;
import java.io.* ;
import java.awt.* ;
import java.awt.event.* ;
public class JVA401 extends Frame implements ActionListener
{
TextArea origin = new TextArea("請在此輸入欲轉換之英文") ;
TextArea target = new TextArea("") ;
Button process = new Button("開始翻譯") ;
Button clear = new Button("清除文字") ;
public JVA401()
{
//請在此撰寫程式
super("英文一點通");
Panel p = new Panel();
p.add(process);
p.add(clear);
setLayout(new GridLayout(3,1)); //配置
add(origin);
add(target);
add(p);
//請在此撰寫程式
process.addActionListener(this);
clear.addActionListener(this);
setSize(300,500);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
e.getWindow().dispose();
System.exit(0);
}
});
}
public static void main(String args[])
{
JVA401 eng = new JVA401() ;
eng.setVisible(true) ;
}
public void actionPerformed(ActionEvent e)
{
String cmd = e.getActionCommand() ;
if(cmd.equals("開始翻譯"))
{
HashMap map = new HashMap();
try{
BufferedReader br = new BufferedReader(new FileReader("JVA401.cfg"));
String str = "";
do{
str = br.readLine();
if(str == null)
break;
String lan[] = str.split("-");
map.put(lan[0].toLowerCase(),lan[1]);
}while(true);
}catch(FileNotFoundException fe){
origin.setText("找不到對照檔 JVA401.cfg");
target.setText("找不到對照檔 JVA401.cfg");
}catch(IOException ie){
target.setText("IOException");
}
//取得使用者的輸入
String unparsed = origin.getText();
String words[] = unparsed.split(" ");
//開始置換,並秀在螢幕上,注意,要將裡頭所有字轉成小寫,方能不管大小寫
String result = "";
for(int i = 0; i<words.length ; i++){
Object o = map.get(words[i].toLowerCase());
if( o != null )
result += (String)o;
else
result += words[i];
result += " ";
}
target.setText("");
target.setText(result);
}else if(cmd.equals("清除文字"))
{
//請在此撰寫程式
origin.setText("");
target.setText("");
}
}
}
參考網頁:
Java A+
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言