Java英语单词自测小游戏
编写初衷
记英语单词的时候,不知道记没记住,所以写了个检测的程序,在检测的同时,也能够复习之前学习的。
任务目标
创建数据库
Java编写代码(没写成GUI,觉着写成GUI巨丑)
打包成Jar包
终端启动jar包
创建数据库
创建名为english的数据库,并且在数据库中创建study_english(word,chinese)表,所以我只需要不断更新表中的数据,达到扩充的目的。
Java编写代码
在项目中导入mysql jar包
Utils包 连接数据库
package Utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtils {
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
Connection con = null;
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/english","root","root");
return con;
}
public static void release(Connection con,Statement st,ResultSet rs) throws SQLException {
if(rs!=null) {
rs.close();
}
if(st!=null) {
st.close();
}
if(con!=null) {
con.close();
}
}
}
daomain包 创建实体类(word,chinese)
package daomain;
public class English {
private String word;
private String chinese;
public String getWord() {
return word;
}
public void setWord(String word) {
this.word = word;
}
public String getChinese() {
return chinese;
}
public void setChinese(String chinese) {
this.chinese = chinese;
}
@Override
public String toString() {
return "English [word=" + word + ", chinese=" + chinese + "]";
}
}
dao包 数据库->列表
package dao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import Utils.JDBCUtils;
import daomain.English;
public class EnglishDao {
@SuppressWarnings("finally")
public static ArrayList findEnglish(String sql) {
ArrayList arr = null;
Connection con = null;
Statement st = null;
ResultSet rs = null;
try {
// 连接数据库进行查询
con = JDBCUtils.getConnection();
st = con.createStatement();
rs = st.executeQuery(sql);
if (rs.next()) {
arr = new ArrayList();
while (true) {
English eng = new English();
eng.setWord(rs.getString("word"));
eng.setChinese(rs.getString("chinese"));
arr.add(eng);
if (rs.next() == false) {
break;
}
}
}
} catch (Exception e1) {
e1.printStackTrace();
} finally {
try {
JDBCUtils.release(con, st, rs);
} catch (final SQLException e) {
e.printStackTrace();
}
return arr;
}
}
}
实现
package English;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
import dao.EnglishDao;
import daomain.English;
public class Englishtest {
public static void dome() {
Scanner scan = new Scanner(System.in);
String in_chinese = null;
int score = 0;
Random r = new Random();
String sql = "select * from study_english";
ArrayList list = EnglishDao.findEnglish(sql);
System.out.println("欢迎进入英语自我测试小游戏");
System.out.println("分值达到100分通关");
System.out.println("---------------------");
while(true) {
English english = list.get(r.nextInt(list.size()));
String word = english.getWord();
String chinese = english.getChinese();
System.out.println("单词:"+word);
System.out.print("英译汉:");
in_chinese = scan.nextLine();
System.out.println("正确答案:"+chinese);
if(chinese.contains(in_chinese)) {
score ++;
}else {
score --;
}
System.out.println("得分:"+score);
if(score==100) {
break;
}
System.out.println("---------------------");
}
System.out.println("恭喜通关");
}
}
打包成Jar包
右键项目选择Export
终端启动jar包
在jar包的同一级下创建run.txt
run.txt写入命令java -jar main.jar
将后缀改为.bat
双击运行
如果觉得《java英语单词测试_Java 英语单词自测》对你有帮助,请点赞、收藏,并留下你的观点哦!