日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

好程序员Java分享Java案例_英汉字典

發布時間:2023/12/10 java 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 好程序员Java分享Java案例_英汉字典 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在寫代碼的時候,當鼠標懸浮在某一個單詞上面的時候,有道詞典點有時會彈出一個消息氣泡,在里面中給出關于這個單詞相關的解釋,下面給大家展示一個使用Java基礎語言編寫的英漢字典案例:
?? ?
  實現功能:
?? ??? ?輸入英文,給出對應的中文翻譯,如果沒有這個單詞沒有被收錄會有相關提示
?? ??? ?
  代碼編寫環境
?? ??? ?JDK:1.8.0_191
?? ??? ?Eclipse:2019-03 (4.11.0)
?? ??? ?
  素材:
?? ??? ?dict.txt
?? ??? ??? ?字典資源文本文件,保存一些下列格式的文件,英文和翻譯之間用制表符隔開:
  Africa?? ?n. 非洲
Aids?? ?n. 愛滋病
America?? ?n. 美洲
April?? ?n. 四月

  案例實現用到的技術:
  ?? ?IO流
  ?? ?Map—HashMap
  ?? ?字符串分割
  ?? ?異常處理
  ?? ?
  代碼思路
1、根據字典文件路徑,創建file對象
2、判斷file對象是否為空,不為空就繼續,否則直接返回null
3、File不為空,創建InputStreamReader和BufferedReader對象
4、循環讀取字典文本中的內容,切割得到數組,保存在map中
5、提示輸入單詞,查詢單詞,輸出查詢結果
  
  運行效果
開始運行的提示:

查詢成功的反饋


單詞不存在的反饋

案例代碼:

編寫方法讀取文本中的內容
package com.feng.demo01;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
/**
?*?? ?英漢字典案例
?* @author dushine
*/
public class GetDict {

?? ?public static void main(String[] args) {
?? ??? ?String path = "E:\\dict.txt";

?? ??? ?// 獲取字典中的所有內容
?? ??? ?Map<String, String> dict = getText(path);
?? ??? ?
?? ??? ?// 判斷字典是否為空,提示輸入單詞,獲取查詢結果
?? ??? ?if (dict != null) {
?? ??? ??? ?@SuppressWarnings("resource")
?? ??? ??? ?
?? ??? ??? ?// 獲取輸入內容
?? ??? ??? ?Scanner input = new Scanner(System.in);
?? ??? ??? ?System.out.println("請輸入要查詢的單詞:");
?? ??? ??? ?String word = input.next();
?? ??? ??? ?
?? ??? ??? ?// 查詢字典獲取中文,如果沒有也給出反饋
?? ??? ??? ?String ret = dict.get(word);
?? ??? ??? ?if (ret != null) {
?? ??? ??? ??? ?System.out.println("查詢結果:\n"+word + ":" + ret);
?? ??? ??? ?} else {
?? ??? ??? ??? ?System.out.println("您查詢的單詞尚未收錄,敬請期待!");
?? ??? ??? ?}
?? ??? ?}
?? ?}

?? ?/**
?? ? * 獲取字典文件中內容
?? ? * @param path
?? ? * @return
?? ? */
?? ?private static Map<String, String> getText(String path) {
?? ??? ?// 可能會出現異常
?? ??? ?try {
?? ??? ??? ?// 根據路徑創建文件對象
?? ??? ??? ?File file = new File(path);
?? ??? ??? ?
?? ??? ??? ?// 判斷路徑指向的文件是否存在
?? ??? ??? ?if (file.exists() && file.isFile()) {
?? ??? ??? ??? ?// 創建map,存儲讀取得到的內容
?? ??? ??? ??? ?Map<String, String> dict = new HashMap<String, String>();
?? ??? ??? ??? ?System.out.println("文件路徑正確,正在解析。。。");
?? ??? ??? ??? ?
?? ??? ??? ??? ??? ?// 創建輸入流對象
?? ??? ??? ??? ??? ?InputStreamReader reader =?
  new InputStreamReader(new FileInputStream(file), "gbk");
?? ??? ??? ??? ??? ?BufferedReader bufferedReader = new BufferedReader(reader);
?? ??? ??? ??? ??? ?String text = null;
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?// 循環讀取文件內容
?? ??? ??? ??? ??? ?while ((text = bufferedReader.readLine()) != null) {
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?// 切割每一行內容,得到數組
?? ??? ??? ??? ??? ??? ?String[] arr = text.split("\t");
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?// 把切割得到的內容放入map
?? ??? ??? ??? ??? ??? ?dict.put(arr[0], arr[1]);
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?// 讀取結束,關閉流對象并返回結果
?? ??? ??? ??? ??? ?reader.close();
?? ??? ??? ??? ??? ?return dict;
?? ??? ??? ??? ?} else {
?? ??? ??? ??? ?System.out.println("字典崩潰啦,下次再來使用吧。。。");
?? ??? ??? ?}
?? ??? ?} catch (Exception e) {
?? ??? ??? ?System.out.println("字典好像出了點問題、文件內容出錯啦。。。");
?? ??? ??? ?e.printStackTrace();
?? ??? ?}
?? ??? ?
?? ??? ?// 路徑指向的不是文件或者文件不存在返回null
?? ??? ?return null;
?? ?}
}?

轉載于:https://www.cnblogs.com/gcghcxy/p/10938946.html

總結

以上是生活随笔為你收集整理的好程序员Java分享Java案例_英汉字典的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。