要求:基于MYSQL实现上次用SQLite实现的郑码查询java程序并改进:使得输入输入aacm,则输出“无可奉告”。而输入一个汉字或汉字词,则输出该字或词的郑码编码。
1.在MySQL数据库中建立郑码表
用图形化管理工具Navicat Premium 连接MySQL数据库,在数据库“test”下建立一张名为“zmb”的数据表。
2.代码
import java.sql.*;
import java.util.Scanner;
public class ZMQ {
public static void main(String[] args) {
String databaseName = "test";
String url = "jdbc:mysql://localhost:3306/" + databaseName + "?useSSL=false" ;//数据库名
String user = "root";//MySQL用户名
String password = "123456";//MySQL密码
while(true) {
System.out.print("请输入 :");
Scanner scan=new Scanner(System.in); //等待键盘输入
String x =scan.next(); //读取输入的字符放入x中
try {
Class.forName("com.mysql.jdbc.Driver");//加载驱动程序
Connection con = DriverManager.getConnection(url, user, password);//配置连接
Statement stat = (Statement) con.createStatement();//创建statement类对象,用来执行SQL语句
String sql = "select * from zmb"; //查询语句
ResultSet rs = stat.executeQuery(sql); //存放获取的结果
boolean b =false;//定义flag用于标志是否找到
while(rs.next()){
String zm=rs.getString(1);
String hz=rs.getString(2);
if(zm.equals(x)) {
System.out.println("对应汉字:"+hz);//输出郑码对应的汉字
b =true;
}
if(hz.equals(x)) {
System.out.println("对应郑码:"+zm);//输出汉字对应的郑码
b =true;
}
}
if("ByeBye".equals(x)) {
System.exit(0);//结束程序
}
if(!b) {
System.out.println("没有找到对应的词");
}
rs.close();
con.close();
} catch(ClassNotFoundException e) { //处理异常
e.printStackTrace();
} catch(SQLException e) {
e.printStackTrace();
}
}
}
}
3.编译、运行结果
命令行运行java程序,引入jar包时可以通过下述方法:
java -cp .;A.jar B
A 是你的jar包,跟B放在一个文件夹就行。
编译运行结果如下所示: