《Java课程实习》日志(周二)

来源:互联网 发布:数据库not null 编辑:程序博客网 时间:2024/05/17 10:41

    这篇日志也是补发的,因为周二的时候没有发。



《Java程序设计》:数据库连接 与 随机数的使用






第一部分:实验项目

项目一:随机相片显示。
目的:了解随机数的生成,及图片的显示。
目标:
(1)在已有代码的基础上,完成随机(或 顺序)显示三张图片的功能。
(2)当猜测准确,或错误时,弹出对话框进行回应。

项目一代码:
import java.awt.EventQueue;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.JButton;import javax.swing.JTextField;import javax.swing.JLabel;import java.awt.Color;import java.awt.SystemColor;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;public class Guess01 extends JFrame {    /**     *      */    private static final long serialVersionUID = 1L;        private JPanel contentPane;    private JTextField tfDir;    private JTextField tfClass;    /**     * Launch the application.     */    public static void main(String[] args) {        EventQueue.invokeLater(new Runnable() {            public void run() {                try {                    Guess01 frame = new Guess01();                    frame.setVisible(true);                } catch (Exception e) {                    e.printStackTrace();                }            }        });    }    /**     * Create the frame.     */    public Guess01() {        setTitle("\u731C\u731C\u770B\u6E38\u620FV0.1");        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        setBounds(100, 100, 645, 409);        contentPane = new JPanel();        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));        setContentPane(contentPane);        contentPane.setLayout(null);                // 选择目录 按钮的处理程序        JButton btnDir = new JButton("\u9009\u62E9\u76EE\u5F55");        btnDir.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent arg0) {                            }        });        btnDir.setBounds(26, 26, 93, 23);        contentPane.add(btnDir);                // 文本框,显示目录        tfDir = new JTextField();        tfDir.setEditable(false);        tfDir.setBounds(125, 27, 363, 21);        contentPane.add(tfDir);        tfDir.setColumns(10);                // 选择班级 按钮的处理程序        JButton btnClass = new JButton("\u9009\u62E9\u73ED\u7EA7");        btnClass.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                            }        });        btnClass.setBounds(26, 59, 93, 23);        contentPane.add(btnClass);                // 文本框,显示班级文件        tfClass = new JTextField();        tfClass.setEditable(false);        tfClass.setBounds(125, 60, 363, 21);        contentPane.add(tfClass);        tfClass.setColumns(10);                // 标签,显示带猜测学生姓名        JLabel lbGuessName = new JLabel("\u59D3\u540D");        lbGuessName.setBounds(259, 91, 102, 23);        contentPane.add(lbGuessName);                // 标签,显示第一个学生相片        JLabel lblImg1 = new JLabel("\u56FE\u72471");        lblImg1.addMouseListener(new MouseAdapter() {            @Override            public void mouseClicked(MouseEvent arg0) {                            }        });        lblImg1.setBounds(26, 151, 183, 178);        contentPane.add(lblImg1);                // 标签,显示第二个学生相片        JLabel lblImg2 = new JLabel("\u56FE\u72472");        lblImg2.addMouseListener(new MouseAdapter() {            @Override            public void mouseClicked(MouseEvent e) {                            }        });        lblImg2.setForeground(Color.BLACK);        lblImg2.setBackground(SystemColor.inactiveCaption);        lblImg2.setBounds(241, 155, 183, 172);        contentPane.add(lblImg2);                // 标签,显示第三个学生相片        JLabel lblImg3 = new JLabel("\u56FE\u72473");        lblImg3.addMouseListener(new MouseAdapter() {            @Override            public void mouseClicked(MouseEvent e) {                            }        });        lblImg3.setBounds(434, 155, 185, 172);        contentPane.add(lblImg3);                // 再猜一次 按钮,点击则更新相应的三张图片 与 带猜测学生姓名        JButton btnGuessAgain = new JButton("\u518D\u731C\u4E00\u6B21");        btnGuessAgain.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                            }        });        btnGuessAgain.setBounds(223, 337, 93, 23);        contentPane.add(btnGuessAgain);    }}





项目二:数据库初步。
目的:了解Java连接数据库的步骤与方法,以及MySQL数据库的安装与使用。
目标:
(1)在机房安装上MySQL数据库。

截图如下:


(2)创建数据表 student(id varchar(12),name varchar(20), success int, failure int ),导入相应的数据到文件中。success 与 failure的默认值为1。




(3)当猜猜正确时,数据表中,success+1;猜测错误时,failure+1。




 
 第二部分:作业博客要求


1. 在作业博客中,利用这周与17周周一上午的时间,完成两个项目,并把运行结果、代码写到博客中。
2. 在作业博客中,回答以下四个问题: 


(1)简述Java中,连接数据库有哪几个基本步骤? 其相应的核心类与代码分别是什么?

1、加载数据库驱动 Class.forName("com.jdbc.mysql.Driver");
       2、连接数据库 Connection con = DriverManager.getConnection(url,user,password);
       3、创建statement对象 Statement stmt = con.createStatement();
       4、查询结果用resultSet显示String sql = ""; ResultSet rs = (ResultSet) stmt.executeQuery(sql);


(2)简述MySQL中,创建一个数据表的SQL语句是什么?

create database


(3) 简述Java中,生成[1,53]之间的随机数的核心代码分别是什么?

<span style="font-weight: bold;">答:</span>
<span style="background-color: rgb(102, 255, 153);">public class Random(){  public static void main(String [] args){    int ran = (int)(Math.random()*53 +1);     System.out.println(ran);   }}</span>


(4)简述Java中,读写文本文件的类分别是什么?核心代码分别是什么? 

答:InputStream\OutputStream
       FileInpuStream\FileOutputStream




0 0