上机题目(高级)- 电子词典(Java)

要求 输入英文翻译成中文

输入help输出所有单词

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
public class ReadDic {
 public static String readDicFile(String filePath) {
  String result = "";
  try {
   String encoding = "GBK";
   File file = new File(filePath);
   if (file.isFile() && file.exists()) { //判断文件是否存在
    InputStreamReader read = new InputStreamReader(
      new FileInputStream(file), encoding);//考虑到编码格式
    BufferedReader bufferedReader = new BufferedReader(read);
    String dicFullText = null;
    while ((dicFullText = bufferedReader.readLine()) != null) {
     result = dicFullText;
    }
    read.close();
   } else {
    System.out.println("找不到指定的文件");
   }
  } catch (Exception e) {
   System.out.println("读取文件内容出错");
   e.printStackTrace();
  }
  return result;
 }
 /**
  * @param args
  */
 public static void main(String[] args) {
  Scanner cin = new Scanner(System.in);
  String input = cin.next();
  String dicPath = "D:/zhangyayun 13057655618/Dic/doc.txt";
  String result = readDicFile(dicPath);
  String dicText[] = result.split("\\|");
  TreeMap tm = new TreeMap();
  for (int i = 0; i < dicText.length; i++) {
   String temp = dicText[i];
   String tempArray[] = temp.split("=");
   tm.put(tempArray[0], tempArray[1]);
  }
  if (input.equals("help")) {
   Iterator it = tm.entrySet().iterator();
   while (it.hasNext()) {
    Map.Entry entry = (Map.Entry) it.next();
    Object key = entry.getKey();
    Object value = entry.getValue();
    System.out.println(key + " " + value);
   }
  } else {
   String dicResult = (String) tm.get(input);
   if (dicResult != null) {
    System.out.println(tm.get(input));
   } else {
    System.out.println("input error");
   }
  }
 }
}
 

help
hello 你好
man 男人
welcome 欢迎

时间: 2024-10-02 10:07:10

上机题目(高级)- 电子词典(Java)的相关文章

上机题目(初级)- Java网络操作-Socket实现客户端和服务器端通信二(Java)

上一节实现了客户端像服务器端发送请求,本节将实现服务器端向客户端回传信息,实现原理很简单,在原来的基础上,在服务器端实现输出流,在客户端实现输入流即可,具体代码如下: 服务器端: package com.socket.demo; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.i

第14周上机实践项目3——电子词典

做一个简单的电子词典.在文件dictionary.txt中,保存的是英汉对照的一个词典,词汇量近8000个,英文.中文释义与词性间用'\t'隔开. 代码 #include <iostream> #include <fstream> #include <cstdlib> using namespace std; class dictionary; class Word { public: Word(){} void set(string e,string c,string

使用Android简单实现有道电子词典

前言: 毕业设计的内容,仅仅有Java基础.没学过Android. 本着用到什么学什么.花费了10多个晚上完毕毕业设计. 当然,仅仅是简单的实线了电子词典功能,自始至终没有考虑过性能等问题. 本电子词典的数据文件是不错的,有道的API是分析有道电子词典的日志文件得到的,离线的柯林斯词典是Mdict词典的MDX文件转换(https://bitbucket.org/xwang/mdict-analysis)来的.这个是本电子词典的唯一亮点吧.由于我一直认为数据比界面更重要. 文件布局: waterm

我的Android案例—电子词典

2015年的Android案例之旅 案例七:电子词典 知识点: 1.自动完成文本框(AutoCompleteTextView) AutoCompleteTextView是从EditText派生出来的,当用户输入一定字符之后,AutoCompleteTextView会显示一个下拉菜单,供用户选择,当用户选择某个菜单之后,内容会被填充到该文本中. 使用AutoCompleteTextView需要设置一个Adapter,该Adapter封装了预设的提示文本 2.SQLiteDataBase数据库 3.

C++第15周(春)项目3 - OOP版电子词典(二)

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 [项目3-OOP版电子词典](本程序须要的相关文件,请到http://pan.baidu.com/s/1qW59HTi下载.) 做一个简单的电子词典. 在文件dictionary.txt中.保存的是英汉对比的一个词典.词汇量近8000个,英文.中文释义与词性间用'\t'隔开. 编程序,由用户输入英文词,显示词性和中文释义. 提示1:假设要用OO

电子词典--两次扫描文件发/链表法

二次扫描文件法实现的电子词典 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> struct dict { char *key; char *content; }; int get_dict_size(FILE *pfile)//得到字典文件中词条总数 { if (pfile == NULL)

第十七周项目7 电子词典(还有疑问,求解答)

要求: 做一个简单的电子词典.在文件dictionary.txt中,保存的是英汉对照的一个词典,词汇量近8000 个,英文.中文释义与词性间用'\t'隔开. 编程序,由用户输入英文词,显示词性和中文释义. 提示1:定义一个Word结构体表示一个词条,其中的数据成员stringenglish; 表示英文单词,stringchinese;表示 对应中文意思,stringword_class;表示该词的词性:定义Wordwords[8000]存放所有词条成员,intwordsNum;表示词 典中的词条

第十四周 项目三 电子词典

/* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:d.cpp *作 者:张旺华 *完成日期:2015年6月3日 *版 本 号:v1.0 */ /*项目3-OOP版电子词典] 做一个简单的电子词典.在文件dictionary.txt中,保存的是英汉对照的一个词典,词汇量近8000个, 英文.中文释义与词性间用'\t'隔开. (1)编程序,由用户输入英文词,显示词性和中文释义. 提示1:如果要用OOP完成这个词典(当然也

第十四周项目3-OOP版电子词典

做一个简单的电子词典.在文件dictionary.txt中,保存的是英汉对照的一个词典,词汇量近8000个,英文.中文释义与词性间用'\t'隔开. (1)编程序,由用户输入英文词,显示词性和中文释义. 提示1:如果要用OOP完成这个词典(当然也可以用OO方法实现),可以定义一个Word类表示一个词条,其中的数据成员string english; 表示英文单词,string chinese;表示对应中文意思,string word_class;表示该词的词性:还可以定义一个Dictionary类,

OC4_电子词典

// // MyDictionary.h // OC4_电子词典 // // Created by zhangxueming on 15/6/15. // Copyright (c) 2015年 zhangxueming. All rights reserved. // #import <Foundation/Foundation.h> #define FilePath @"/Users/zhangxueming/Desktop/ios1509/Day16_类的复合设计/dict.t