用JAVA实现各国中英文名称互译功能的查询程序
创建一个字典文件,其内容为各个国家的中英文对照表,以查询国名为目的,对各个国家的国名进行中英互译。
1.功能:
- 输入“中国”则在屏上回显“China”;
- 输入“德国”则在屏上回显“Germany”;
- 输入“Italy”则在屏上回显“意大利”;
- …
- 要求能对现有国名进行中英互译查询;
- 在输入字典库中没有的词时,显示“请输入正确国名!”;
- 输入byebye时则退出程序。
2.字典文件内容
创建一个包含各个国家的中英文对照的字典文件,此字典的功能做为一个文本文件读入,其中每行为:<中文字词><对应英文>, 其部分内容如下:

3.代码
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class dyrw23 {
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
while(true) {
System.out.println("请输入查询的国名: ");
String str = scan.nextLine();
FileReader fr = new FileReader("D:\\office\\学前任务\\代码\\dic.txt");
//创建一个新的 FileReader,给予File读。
BufferedReader br = new BufferedReader(fr);//从一个字符输入流中读取 文本
String s = null;//定义一个字符串
boolean b = false;//判断字典中是否含有输入的词
while((s = br.readLine()) != null) {//readLine()读一行文本
//substring(int beginIndex, int endIndex)
//返回一个字符串的子串,相当于剪切,从beginIndex开始到endIndex结束(含头不含尾)
//indexOf(String str)
//返回指数在这个字符串指定的子字符串中第一个出现的下标。
String china = s.substring(s.indexOf("<")+1, s.indexOf(">"));
//lastIndexOf(String str)
//返回指数在这个字符串的指定子字符串中最后出现的下标。
String english = s.substring(s.lastIndexOf("<")+1,s.lastIndexOf(">"));
if(str.equals(english)) {
//判断输入为英文并存在,则对应输出为中文
System.out.println("所对应的中文名为:\n"+china);
b = true;
}
if(str.equals(china)) {
//判断输入为中文并存在,则对应输出为英文
System.out.println("所对应的英文名为:\n"+english);
b = true;
}
}
if(str.equals("byebye")) {//判断是否输入的为"ByeBye"
System.out.println("此程序已退出。");
System.exit(0);//终止当前正在运行的java虚拟机
}
if(!b) {
//查不到此词语
System.out.println("请输入正确国名!");
}
}
}
}
4.运行结果
- 编译结果如下图所示:

- 运行结果如下图所示:

本文可能存在某些不足之处,敬请谅解,不懂的地方可以与我进行交流。
本文介绍了一种使用JAVA编程实现的国家名称中英互译查询程序。程序通过读取字典文件,提供对各国名称的翻译功能。当输入国名时,程序能在屏幕上显示出对应的英文名称,反之亦然。对于不在字典中的国名,程序会提示输入正确国名;输入'byebye'则退出程序。
1293

被折叠的 条评论
为什么被折叠?



