JAVA基础训练——输入中文输出相应的英文
程序员文章站
2022-05-04 07:56:03
...
1.要求
编程实现一个命令窗程序,使得:
输入“你”则在屏上回显“you”。
输入“书”则在屏上回显“book”。
输入“中”则在屏上回显“middle”。
输入“中国”则在屏上回显“China”。
…要能输入至少100个词。如输入没有记录的词则如下:
输入“东东”则在屏上回显“查不到该词”。
输入ByeBye则退出程序.
(提示: 单词字典应做一个文本文件读入,其中每行为:<中文字词><对应英文> )
如:字典文件 dic.txt内容是
<我>
<你>
<中国>
……
2.代码
import java.io.BufferedReader;//导入java.io包中的BufferedReader类
import java.io.FileReader; //导入java.io包中的FileReader类
import java.io.IOException; //导入java.io包中的IOException类
import java.util.Scanner; //导入java.util包中的Scanner类
public class dic { //定义一个类,类名为dic
public static void main(String[] args) throws IOException { //main方法里有什么操作可能会发生IOException
Scanner scan = new Scanner(System.in); //定义一个Scanner对象,等待从键盘上输入
while(true) {
System.out.println("请输入一个词:"); //控制台输出“请输入一个词”
String str = scan.nextLine(); //定义一个字符串
FileReader fr = new FileReader("dic.txt");//创建一个新的 FileReader,给予File读。
BufferedReader br = new BufferedReader(fr);//从一个字符输入流中读取文本
String s = null;//定义一个字符串
boolean b = false;//判断字典中是否含有输入的词
while((s = br.readLine()) != null) {//readLine()读一行文本
String china = s.substring(s.indexOf("<")+1, s.indexOf(">"));
//substring(int beginIndex, int endIndex)
//返回一个字符串的子串,从beginIndex开始到endIndex结束(含头不含尾)
//indexOf(String str)
//返回指数在这个字符串指定的子字符串中第一个出现的下标。
String english = s.substring(s.lastIndexOf("<")+1,s.lastIndexOf(">"));
//lastIndexOf(String str)
//返回指数在这个字符串的指定子字符串中最后出现的下标。
if(str.equals(china)) {//存在
System.out.println(english);//输出对应的汉语意思
b = true;
}
}
if(str.equals("ByeBye")) {//判断是否输入的为"ByeBye"
System.out.println("程序退出!");
System.exit(0);//终止当前正在运行的程序
}
if(!b) {//查不到
System.out.println("查不到该词!");
}
}
}
}
3.编译过程和结果
在DOS命令窗口,先用javac命令把.java文件编译成.class文件,
把字典文件dic.txt放在.java文件下(在一个路径),dic.txt文件中包含100多个单词。
再用Java命令运行程序。
上一篇: 在java程序中设置http代理访问网络
下一篇: HashMap踩坑实录——谁动了我的奶酪