结对编程——自动生成数学试卷的系统(javaswing,mysql)by 陈松&刘宇航

 本次结队编程的数学试卷对我是个很大的挑战

因为一开始考虑写网站,在网页中生成题目,毕竟选了javaee,可以一举两得,但是写着写着发现jsp语言有大量的标记和事件,画了两天时间,虽然收获不少,但是依然搞不定,所以只好转swing,而swing其实有点忘记,加上时间又短,做得也比较粗糙,队友刘宇航完成了数学试卷的具体实现,我主要做了验证码,界面,数据库连接登录注册这些杂活

 输入手机号后就会点击获取验证码就会自动发到手机号,主要用的是阿里云的

这个界面确实有点丑,但是不是重点~

注册成功之后就会在mysql中就会出现相应的账号

 只需要在框中输入数量,再点击下方的按钮,就可以生成对应的试卷

试卷生成的位置,在以用户名为名的文件夹里面,如果是刚注册的用户,就会给他自动创建文件夹

 生成两份,一份是试卷,一份是答案

缺点:显然,UI界面并没有做好,主要是我队友负责的是试卷方面,而我身边并没有和我讨论的人,两个舍友都是数媒……而我喜欢去图书馆,基本上见不到同学,所以在写UI的时候特别花时间,网上的代码往往用很复杂的代码讲解一个很简单的概念,下次一定注意

第二:并没有实现边做题,边检查答案,在老师要求的功能下,也没有增加额外的功能

使用的技术:mysql,swing,

可以使用的技术:jsp+css+html, 线程(设置倒计时)

收获:本次代码,让我重新对swing有更多了解,比如三种布局,各种组件JTextField, JButton等等,

以及连接mysql所用的步骤,包括加载jdbc驱动,连接数据库,执行sql语句,设置结果集获取结果

java很多的方法,eval,getEngineByName登封

更重要的是,体会到jsp其实有很多东西的,不是一下子就能学会的

 贴一段加载驱动的代码,这个没有什么原因,就是要这样写,规定好的

import java.sql.DriverManager;
import java.sql.ResultSet;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;

public class ConnDB {
		public Connection conn=null;
		public PreparedStatement stmt=null;
		public ResultSet rs=null;
		User u=null;
		//驱动类的类名
		private static String dbClassName="com.mysql.jdbc.Driver";
		private static String dbUrl="jdbc:mysql://localhost:3306/usercontroldb";
		private static String username="root";
		private static String password="这里是密码";
		
		public boolean findUser(String un,String pwd) {
			
			try {
				conn=(Connection) DriverManager.getConnection(dbUrl, username, password);
				String sql="SELECT * FROM user WHERE username=? and userpassword=?";
//				 String sql2="insert into user (username,userpassword) values ('cs','123')";
				stmt=(PreparedStatement) conn.prepareStatement(sql);	
				stmt.setString(1,un);
				stmt.setString(2,pwd);
				rs=stmt.executeQuery();
				if(rs.next()) {
					u=new User();
					//第一个是id
					u.setUsername(rs.getString(2));
					u.setPassword(rs.getString(3));
				}
			}catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}
//			System.out.println(u.getUsername()+u.getPassword()+"!");
			if(u.getUsername()!=null&&u.getPassword()!=null) {
				return true; 
			}
			return false;
		}

  

原文地址:https://www.cnblogs.com/chen-song/p/9752172.html