商城网站建设视频教程,阿里wordpress怎么安装,地图网站 源码,wordpress运行速度实验内容
考试题
要求在一个界面内至少显示5道选择题#xff0c;每道题4个选项。题目从数据库读取。表结构自定义。
另有2个命令按钮#xff0c;分别为“重新答题”#xff08;全部选项及正确答题数清空#xff09;和“提交”#xff08;计算#xff09;#xff0c;在…实验内容
考试题
要求在一个界面内至少显示5道选择题每道题4个选项。题目从数据库读取。表结构自定义。
另有2个命令按钮分别为“重新答题”全部选项及正确答题数清空和“提交”计算在按钮下方的标签内显示最终的正确的题目数自动和数据库中的标准答案比对。
界面大致布局如下 实验环境
eclipseMySQL8.0版本MySQL的JDBC驱动
实验结果 如果运行之后显示空白窗口首先检查数据库等是否正确如果全部正确可以点击右上角最大化刷新之后即可正常显示不知道为什么会这样
数据库中的内容 所有列均为varchar类型
源代码
Answer.java
package lab4;
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Answer extends JFrame
{public static void main(String[] args) throws SQLException{int i0;String[] strla new String[5];//存储5个题目String[] strbu new String[20];//存储20个单选选项内容String[] str new String[5];//存储数据库中的答案String[] str1 new String[5];//存储选择的选项JFrame f new JFrame(Test);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setLayout(new GridLayout(12,1));f.setSize(1000,600);f.setVisible(true);JPanel P0 new JPanel();P0.setLayout(new GridLayout());//面板分区JPanel P1 new JPanel();P1.setLayout(new GridLayout(1,4,5,5));JPanel P2 new JPanel();P2.setLayout(new GridLayout());JPanel P3 new JPanel();P3.setLayout(new GridLayout(1,4,5,5));JPanel P4 new JPanel();P4.setLayout(new GridLayout());JPanel P5 new JPanel();P5.setLayout(new GridLayout(1,4,5,5));JPanel P6 new JPanel();P6.setLayout(new GridLayout());JPanel P7 new JPanel();P7.setLayout(new GridLayout(1,4,5,5));JPanel P8 new JPanel();P8.setLayout(new GridLayout());JPanel P9 new JPanel();P9.setLayout(new GridLayout(1,4,5,5));JPanel P10 new JPanel();P10.setLayout(null);JPanel P11 new JPanel();P11.setLayout(new GridLayout());Connection con null;JLabel[] la new JLabel[5];//题目显示la[0]new JLabel();la[1]new JLabel();la[2]new JLabel();la[3]new JLabel();la[4]new JLabel();JRadioButton[] bu new JRadioButton[20];//单选显示for(i0;i20;i)bu[i]new JRadioButton();try{Class.forName(com.mysql.cj.jdbc.Driver);String url jdbc:mysql://localhost:3306/?userroot;//换成自己的mysql用户名String username root; //换成自己的mysql用户名String password 123456; //换成自己的mysql密码con DriverManager.getConnection(url, username, password);ResultSet re null;PreparedStatement pre null;String sql select * from stusys.ans;//换成自己的数据库名.表名pre con.prepareStatement(sql);re pre.executeQuery();i0;while(re.next()){strla[i]re.getString(question);strbu[4*i]re.getString(A);strbu[4*i1]re.getString(B);strbu[4*i2]re.getString(C);strbu[4*i3]re.getString(D);str[i]re.getString(answer);i;}pre.close();re.close();}catch(Exception e){e.printStackTrace();System.out.println(操纵数据库时发生未知错误);}finally{if(con!null)con.close();}for(i0;i5;i)//给每个题设置内容和选项内容{la[i].setText(题目(i1)strla[i]);la[i].setFont(new Font(Dialog,1,20));bu[4*i].setText(A.strbu[4*i]);bu[4*i].setFont(new Font(Dialog,1,20));bu[4*i1].setText(B.strbu[4*i1]);bu[4*i1].setFont(new Font(Dialog,1,20));bu[4*i2].setText(C.strbu[4*i2]);bu[4*i2].setFont(new Font(Dialog,1,20));bu[4*i3].setText(D.strbu[4*i3]);bu[4*i3].setFont(new Font(Dialog,1,20));}ButtonGroup group1 new ButtonGroup();//每一题的四个选项为一组for(i0;i4;i)group1.add(bu[i]);ButtonGroup group2 new ButtonGroup();for(i4;i8;i)group2.add(bu[i]);ButtonGroup group3 new ButtonGroup();for(i8;i12;i)group3.add(bu[i]);ButtonGroup group4 new ButtonGroup();for(i12;i16;i)group4.add(bu[i]);ButtonGroup group5 new ButtonGroup();for(i16;i20;i)group5.add(bu[i]);JButton b1 new JButton(重新答题);//重新答题按钮b1.setFont(new Font(Dialog,1,20));b1.setBounds(250, 0, 200, 40);JButton b2 new JButton(提交);//提交按钮b2.setFont(new Font(Dialog,1,20));b2.setBounds(550, 0, 200, 40);JLabel show new JLabel(答对的题目数量是0);show.setFont(new Font(Dialog,1,20));P0.add(la[0]);//添加题目和选项for(i0;i4;i)P1.add(bu[i]);P2.add(la[1]);for(i4;i8;i)P3.add(bu[i]);P4.add(la[2]);for(i8;i12;i)P5.add(bu[i]);P6.add(la[3]);for(i12;i16;i)P7.add(bu[i]);P8.add(la[4]);for(i16;i20;i)P9.add(bu[i]);P10.add(b1);P10.add(b2);//添加重新答题和提交按钮P11.add(show);f.add(P0);f.add(P1);//将各个面板添加到顶级容器中f.add(P2);f.add(P3);f.add(P4);f.add(P5);f.add(P6);f.add(P7);f.add(P8);f.add(P9);f.add(P10);f.add(P11);MouseListener lisb1 new MouseListener()//重新答题按钮功能实现{Overridepublic void mouseClicked(MouseEvent e){group1.clearSelection();group2.clearSelection();group3.clearSelection();group4.clearSelection();group5.clearSelection();for(int i0;i5;i)str1[i]null;int ans0;String Ans String.valueOf(ans);show.setText(答对的题目数量是Ans);show.setFont(new Font(Dialog,1,20));}Overridepublic void mousePressed(MouseEvent e) {// TODO 自动生成的方法存根}Overridepublic void mouseReleased(MouseEvent e) {// TODO 自动生成的方法存根}Overridepublic void mouseEntered(MouseEvent e) {// TODO 自动生成的方法存根}Overridepublic void mouseExited(MouseEvent e) {// TODO 自动生成的方法存根}};MouseListener lisb2 new MouseListener()//提交按钮功能实现{Overridepublic void mouseClicked(MouseEvent e){int i0,j0,ans0;for(i0;i5;i){if(bu[4*i].isSelected()){str1[j]A;j;}if(bu[4*i1].isSelected()){str1[j]B;j;}if(bu[4*i2].isSelected()){str1[j]C;j;}if(bu[4*i3].isSelected()){str1[j]D;j;}}for(i0;i5;i){if(str[i].equals(str1[i]))ans;}String Ans String.valueOf(ans);show.setText(答对的题目数量是Ans);show.setFont(new Font(Dialog,1,20));}Overridepublic void mousePressed(MouseEvent e) {// TODO 自动生成的方法存根}Overridepublic void mouseReleased(MouseEvent e) {// TODO 自动生成的方法存根}Overridepublic void mouseEntered(MouseEvent e) {// TODO 自动生成的方法存根}Overridepublic void mouseExited(MouseEvent e) {// TODO 自动生成的方法存根}};b1.addMouseListener(lisb1);b2.addMouseListener(lisb2);}
}
感谢大家的观看