• 大小: 45KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: Java
  • 标签: JAVA入门  

资源简介

初学JAVA的图形设计界面,联合了IO输入输出流,简单地实现了一个词汇的单词测试单机版

资源截图

代码片段和文件信息

import java.io.*;
import java.util.*;

public class Dictionary {

private String path;//单词文件的地址
//使用ArrayList分别存储英文单词及其对应的中文解释,方便随机生成选项
private final List keyWord = new ArrayList<>();//英文单词
private final List valueWord = new ArrayList<>();//中文解释

Dictionary(String path)
{
this.path = path;
initiDic();
}

private void initiDic()
//使用FileReader和BUfferedReader从文件中读取单词数据
{
FileReader reader = null;
BufferedReader bufferedReader = null;

try {
reader = new FileReader(path);
bufferedReader = new BufferedReader(reader);
while(true) {
String line = bufferedReader.readLine();
if(line==null) break;

String regex = “[\\s]+“;
String[] word = line.split(regex);

if(word.length < 2) continue;
//将英文加入keyWord中,其对应的中文加入valueWord中,
//一组单词的中英文在两个ArrayList中的索引是一致的
keyWord.add(word[0]);
valueWord.add(word[1]);
}
} catch(Exception e){
            System.out.println(e);
        }
finally {
try{
                bufferedReader.close();
                reader.close();

            }catch(Exception e){
                System.out.println(e);
            }
}
}

private int getRandomIndex()
//随机生成索引,用于随机生成四个单词选项
{
int size = keyWord.size();
return (int) (Math.random()*100*size)%size;
}

HashMap getChoice()
//生成四个选项
{
//防止生成的索引会有重复,保证四个选项不重复
List indexTemp = new ArrayList<>();
//生成的选项用HashMap存储,以保持二者之间的对应关系
HashMap choiceTemp = new HashMap<>();
for (int i = 0; i < 4 ; i++) {
            int index = getRandomIndex();
            while( indexTemp.contains( index ) )
            //如果生成的索引有重复就一直生成直到没有重复
            {
                index = getRandomIndex();
            }
            
            indexTemp.add( index );
            
            choiceTemp.put(keyWord.get(index) valueWord.get(index));
}

return choiceTemp;
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-12-25 12:13  Lab10_Words\
     文件         295  2017-12-07 14:48  Lab10_Words\.classpath
     文件         387  2017-12-07 14:48  Lab10_Words\.project
     目录           0  2017-12-25 12:13  Lab10_Words\.settings\
     文件         598  2017-12-07 14:48  Lab10_Words\.settings\org.eclipse.jdt.core.prefs
     文件       73870  2017-12-07 15:22  Lab10_Words\CET6.txt
     文件        2836  2017-12-10 15:03  Lab10_Words\Dictionary.class
     文件        2161  2017-12-10 14:58  Lab10_Words\Dictionary.java
     文件        2463  2017-12-10 18:15  Lab10_Words\GivesWords.class
     文件        2107  2017-12-10 18:15  Lab10_Words\GivesWords.java
     文件         611  2017-12-10 18:13  Lab10_Words\Test_Console$1.class
     文件        5939  2017-12-10 18:13  Lab10_Words\Test_Console.class
     文件        5883  2017-12-10 18:13  Lab10_Words\Test_Console.java

评论

共有 条评论