experiment @ lzptc ,2nd实训_ 《Java语言程序设计》专业实习任务
来源:互联网 发布:开放式网络课程 编辑:程序博客网 时间:2024/06/03 16:09
《Java语言程序设计》专业实习任务(二)
一、设计目的:
本次设计是对教材第7章~第17章的总结。涉及到的主要知识点有:GUI设计、事件处理、I/O处理和JDBC。设计的目的在于掌握Java的基本原理、设计方法和使用规则;利用Java提供的事务处理机制,合理选择类和类提供的方法,进行应用程序的初步设计。
二、设计题目:
㈠程序CDInfor.java完成的功能是:CD唱片信息管理。
假设有很多唱片,它们的信息都存放在CDInfor.txt文件中。文件中每张唱片的信息占一行,信息包括唱片编号、唱片名称、歌手姓名三项内容,信息之间用空格分开。运行界面如下所示。
1. 功能描述
①从文件中读出已有的唱片信息并显示在文本域中;但文本域不能进行输入。
②从文本框中输入需要添加的CD唱片的信息。
③当单击“增加”按钮时,将信息以追加的方式存入到文件中,并且刷新文本域里的内容。
④当单击“取消”按钮时,将正在录入的信息从文本框里清空,不再做任何处理。
2. 题目要求
①完成程序段①~⑤的编写。
②回答问题①~③。
3. 提示信息
①FileWriter类有一个构造方法如下:
FileWriter(String filename , Boolean append)
功能:构造一个进行附加的FileWriter
②FileWriter类的父类有一个方法如下:
Voidwrite(String str)
功能:写一个字符串
4. 程序清单(Caculate.java)
import java.awt.*;
import javax.swing.*;
import java.io.*;
import java.awt.event.*;
public class CDInfor extends JFrameimplements ActionListener {
//定义输入输出流对象
//问题1: 用BufferedReader类定义输入流,是要利用该类的什么功能(方法)?
BufferedReader in;
FileWriter out;
//定义容器
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel(new GridLayout(4,1));
JPanel jPanel3 = new JPanel();
JPaneljPanel5 = new JPanel();
JPanel jPanel4 = new JPanel();
JPanel jPanel6 = new JPanel();
JScrollPane jScrollPane1 = new JScrollPane();
//定义组件并初始化
JTextArea jTextArea1 = new JTextArea("",10,25);//10行,20列
GridLayout gridLayout1 = new GridLayout();
JTextField jTextField1 = new JTextField(10); //10列
JTextField jTextField2 = new JTextField(10); //10列
JTextField jTextField3 = new JTextField(10); //10列
JLabel jLabel1 = new JLabel("唱片编号:");
JLabel jLabel2 = new JLabel("唱片名称:");
JLabel jLabel3 = new JLabel("歌手姓名:");
JButton jButton1 = new JButton("增加");
JButton jButton2 = new JButton("取消");
String str;
public CDInfor() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
}
catch (Exception exception) {
exception.printStackTrace();
}
}
public void jbInit()
{
Container cp = getContentPane();
cp.setLayout(new BorderLayout());
//加载组件
jButton1.addActionListener(this);
jButton2.addActionListener(this);
//将文本域放到滚动容器里,当内容多时,可以自动形成滚动条
jTextArea1.setEditable(false);
jScrollPane1.getViewport().add(jTextArea1);
jPanel3.add(jLabel1); jPanel3.add(jTextField1);
jPanel4.add(jLabel2); jPanel4.add(jTextField2);
jPanel5.add(jLabel3); jPanel5.add(jTextField3);
jPanel6.add(jButton1); jPanel6.add(jButton2);
//加载容器
jPanel1.add(jScrollPane1);
jPanel2.add(jPanel3); jPanel2.add(jPanel4); jPanel2.add(jPanel5); jPanel2.add(jPanel6);
jPanel2.setPreferredSize(new Dimension(10, 150));
cp.add("Center",jPanel1) ; cp.add("South",jPanel2);
//问题2:设置try_catch结构的目的是什么?
try
{
//完成语句①:初始化输入流对象(以CDInfor.txt为数据源)
//完成语句②:初始化输出流对象(参考提示信息)
//完成语句③:行读文件,将结果写到文本域里
}
catch (IOException ex){};
}
public void actionPerformed(ActionEvent e)
{
//按下“增加”按忸后的操作:
if(e.getSource()==jButton1)
{
//完成程序④:提取信息并添加到文本域里
//完成程序⑤:将记录添加到文件末尾并刷新数据流
//问题3:刷新数据流的作用是什么?
try {
}
catch (Exception ex) {}
}
//按下“增加”按忸和“取消“按钮都要完成的操作:
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
}
public static void main(String[] args) throws Exception
{
CDInfor kk = new CDInfor();
kk.setSize(350,350);
kk.setTitle("Please caculat:");
kk.setVisible(true);
}
}
㈡假设StudentManager.java完成的功能是:学生信息管理。
学生信息存放在数据库Student.mdb中,信息包括:学号、姓名、性别、年龄、专业。
系统包括查询、添加、删除、更新和退出系统五个功能。主界面运行如下:
1.功能描述
①单击“查询”按钮,可以查询数据库中的学生信息,并将学生信息显示在JPanel中。运行界面如下:
②单击“增加”按钮,可以为数据库表中添加一条学生信息。运行界面如下:
要求:学号必须是数字字符串,长度不能大于10;姓名长度不能大于10,专业长度不能大于25。
③单击“删除”按钮,可以删除数据库表中的学生信息。运行界面如下:
⑷单击“更新”按钮,可以更新数据库表中指定学号的学生信息。运行界面如下:
要求:学号必须是数字字符串,长度不能大于10;姓名长度不能大于10,专业长度不能大于25。
⑸单击“退出系统”按钮,从整个应用系统中退出。
2.题目要求
①根据题目要求建立数据库。
②完成程序段⑴~⒃的编写,使其系统各功能模块能够正常运行。
③回答问题①~⑧。
3.提示信息
①Statement createStatement(int resultSetType,
int resultSetConcurrency)
throws SQLException
resultSetType:结果集类型,它是 ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE 或 ResultSet.TYPE_SCROLL_SENSITIVE 之一;
resultSetConcurrency:并发类型;它是 ResultSet.CONCUR_READ_ONLY 或 ResultSet.CONCUR_UPDATABLE 之一;
②update语句:update 表名 set 字段名=值,字段名=值,……where 条件
4.程序清单
①StudentManager.java
package sms;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Toolkit;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class StudentManager extends JFrame{
private JLabel lbl1;
private JButton selBtn,addBtn,delBtn,updBtn;
private JButton exitBtn;
private JPanel panel ;
public StudentManager (){
super("学生管理系统");
// 定义出现的组件:由上而下,自左致右
lbl1= new JLabel("学生管理系统",JLabel.CENTER);
lbl1.setFont(newFont("黑体",Font.BOLD,35));
selBtn= new JButton("查询");
addBtn= new JButton("添加");
delBtn= new JButton("删除");
updBtn= new JButton("更新");
exitBtn=new JButton("退出系统");
// 定义容器
panel= new JPanel();
//为容器设置布局,并将组件添加到容器中
FlowLayout flow = new FlowLayout();
panel.setLayout(flow);
panel.add(selBtn);
panel.add(addBtn);
panel.add(delBtn);
panel.add(updBtn);
panel.add(exitBtn);
//为按钮添加监听事件
selBtn.addActionListener(new ButtonEvent());
addBtn.addActionListener(new ButtonEvent());
delBtn.addActionListener(new ButtonEvent());
updBtn.addActionListener(new ButtonEvent());
exitBtn.addActionListener(new ActionListener(){
//完成语句⑴:退出应用系统的功能
});
//为applet设置布局,并将组件添加到applet中
GridLayout grid = new GridLayout(2,1);
this.setLayout(grid);
this.add(lbl1);
this.add(panel);
//设置applet的大小
this.setSize(400,300);
this.setVisible(true);
//问题1:Toolkit的作用是什么?
Toolkittool = this.getToolkit();
Dimensiondim = tool.getScreenSize();
this.setLocation(dim.width/3,dim.height/3);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
validate();
}
publicstatic void main(String[] args){
newStudentManager();
}
}
②DatabaseConnection.java
package sms;
//完成语句⑵:导入该类中操作数据库的相关类包
public class DatabaseConnection {
publicstatic Connection getConnection(StringdataSource , String user , String password){
Connectionconn = null;
try{
String driverName ="sun.jdbc.odbc.JdbcOdbcDriver";
//完成语句⑶:加载数据库驱动
}catch (ClassNotFoundException e) {
e.printStackTrace();
}
try{
//完成语句⑷:通过getConnection()方法的参数获取数据库连接赋给conn
}catch (SQLException e) {
e.printStackTrace();
}
returnconn;
}
}
③SelFrame.java
package sms;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
//完成语句⑸:导入该类中操作数据库的相关类包
import javax.swing.*;
public class SelFrame extends JFrameimplements ActionListener,FocusListener {
privateConnection conn = null;
privateStatement stmt = null;
privateResultSet rs = null;
privateint recordCount=0;
JLabellbl1 = null;
JLabellbl2 = null;
JTextFieldtf1 = null;
JTextFieldtf2 = null;
JButton selBtn= null;
JPanelp1 = null;
JPanelp2 = null;
JPanelp3 = null;
JPanelresultPanel = null;
JScrollPanescroll = null;
JPanelsplit = null;
JPanel[]p3_1=null;
JTextField[]tf3_1 = null;
JTextField[]tf4_1 = null;
JTextField[]tf5_1 = null;
JTextField[]tf6_1 = null;
JTextField[]tf7_1 = null;
publicstatic int test=1;
publicSelFrame(){
super("学生信息查询");
//定义组件:从上到下,从左到右
lbl1= new JLabel("姓名:",10);
lbl2= new JLabel("专业:",10);
tf1= new JTextField(20);
tf2= new JTextField(20);
selBtn=newJButton("查询");
selBtn.addActionListener(this);
JLabellbl3 = new JLabel("学号",JLabel.CENTER);
JLabellbl4 = new JLabel("姓名",JLabel.CENTER);
JLabellbl5 = new JLabel("年龄",JLabel.CENTER);
JLabellbl6 = new JLabel("性别",JLabel.CENTER);
JLabellbl7 = new JLabel("专业",JLabel.CENTER);
p1= new JPanel (new FlowLayout());
p1.add(lbl1);
p1.add(tf1);
p1.add(lbl2);
p1.add(tf2);
p2= new JPanel (new GridLayout(2,1));
p2.add(p1);
p1.add(selBtn);
p3= new JPanel (new GridLayout(1,5));
p3.add(lbl3);
p3.add(lbl4);
p3.add(lbl5);
p3.add(lbl6);
p3.add(lbl7);
BorderLayout border = new BorderLayout();
this.setLayout(border);
this.add(p2,BorderLayout.NORTH);
//完成语句⑹:当点击窗口的关闭按钮时只销毁该窗口,并不退出应用系统
setSize(750,600);
setLocation(150,50);
setVisible(true);
validate();
}
publicvoid actionPerformed(ActionEvent e) {
conn= DatabaseConnection.getConnection("jdbc:odbc:StudentDsn","", "");
try{
String txt1,txt2,condition = "";
txt1=tf1.getText();
txt2=tf2.getText();
if(txt1!=null && !txt1.equals(""))
condition= " where sname like '%"+txt1+"%' ";
if(txt2!=null && !txt2.equals(""))
if(condition.equals(""))
condition= " where major like'%"+txt2+"%' ";
else
condition=condition + " and major like '%"+txt2+"%' ";
Stringsql = "select * from stu " + condition;
stmt =conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
//完成语句⑺:提交sql语句,并将返回的记录集放在rs中
//完成语句⑻:获取记录集中的记录条数,放在整形变量recordCount中
GridLayoutgl=new GridLayout(recordCount,1);
if(resultPanel!=null){
resultPanel.removeAll();//问题2:该语句的功能是什么?
}
else{
resultPanel= new JPanel(gl);//问题3:该条语句什么时候执行?
}
//问题2:test变量的作用是什么?
if(test==1){
scroll= new JScrollPane(resultPanel);
split= new JPanel(new BorderLayout());
split.add(p3,BorderLayout.NORTH);
split.add(scroll,BorderLayout.CENTER);
this.add(split,BorderLayout.CENTER);
test++;
}
p3_1= new JPanel[recordCount];
tf3_1= new JTextField[recordCount];
tf4_1= new JTextField[recordCount];
tf5_1= new JTextField[recordCount];
tf6_1= new JTextField[recordCount];
tf7_1= new JTextField[recordCount];
rs.beforeFirst();//问题4:该条语句可不可以用rs.first()代替?为什么?
inti = 0;
while(rs.next()){
tf3_1[i]= new JTextField(rs.getString(1));
tf4_1[i]= new JTextField(rs.getString(2));
tf5_1[i]= new JTextField(rs.getString(3));
tf6_1[i]= new JTextField((rs.getString(4).equals("M"))?"男":"女");
tf7_1[i]= new JTextField(rs.getString(5));
tf3_1[i].setHorizontalAlignment(JTextField.CENTER);
tf4_1[i].setHorizontalAlignment(JTextField.CENTER);
tf5_1[i].setHorizontalAlignment(JTextField.CENTER);
tf6_1[i].setHorizontalAlignment(JTextField.CENTER);
tf7_1[i].setHorizontalAlignment(JTextField.CENTER);
tf3_1[i].setEditable(false);
tf4_1[i].setEditable(false);
tf5_1[i].setEditable(false);
tf6_1[i].setEditable(false);
tf7_1[i].setEditable(false);
//完成语句⑼:为文本框们添加监听器
p3_1[i]= new JPanel (new GridLayout(1,5));
p3_1[i].add(tf3_1[i]);
p3_1[i].add(tf4_1[i]);
p3_1[i].add(tf5_1[i]);
p3_1[i].add(tf6_1[i]);
p3_1[i].add(tf7_1[i]);
resultPanel.add(p3_1[i]);
i++;
}
resultPanel.repaint();//问题5:该条语句可不可以取消?为什么?
this.validate();//问题6:该条语句可不可以取消?为什么?
}catch (SQLException e1) {
e1.printStackTrace();
}
finally{
//完成语句⑽:关闭数据库操作时占用的各种资源
}
publicvoid focusGained(FocusEvent e) {
//完成语句⑾:当文本框获得焦点时,文本框为红色
}
publicvoid focusLost(FocusEvent e) {
//完成语句⑿:当文本框失去焦点时,文本框为白色
}
}
④AddFrame.java
package sms;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.Box;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
public class AddFrame extends JFrame implements ActionListener{
privateConnection conn;
privateStatement stmt;
JLabellbl1 = null;
JLabellbl2 = null;
JLabellbl3 = null;
JLabellbl4 = null;
JLabellbl5 = null;
JTextFieldtf1 = null;
JTextFieldtf2 = null;
JTextFieldtf4 = null;
JTextFieldtf5 = null;
JRadioButtonman = null;
JRadioButtonwoman = null;
ButtonGroupsex = null;
JButton addBtn = null;
JPanelp1 = null;
BoxbaseBox,boxV1,boxV2,boxH1;
publicAddFrame(){
super("添加学生信息");
//定义组件:从上到下,从左到右
lbl1= new JLabel("学号:");
lbl2= new JLabel("姓名:");
lbl3= new JLabel("性别:");
lbl4= new JLabel("年龄:");
lbl5= new JLabel("专业:");
tf1= new JTextField(20);
tf2= new JTextField(20);
tf4= new JTextField(20);
tf5= new JTextField(20);
man= new JRadioButton("男",true);
woman= new JRadioButton("女");
sex= new ButtonGroup();
sex.add(man);
sex.add(woman);
addBtn=newJButton("添加");
addBtn.addActionListener(this);
boxV1= Box.createVerticalBox();
boxV1.add(lbl1);
boxV1.add(Box.createVerticalStrut(8));
boxV1.add(lbl2);
boxV1.add(Box.createVerticalStrut(8));
boxV1.add(lbl3);
boxV1.add(Box.createVerticalStrut(8));
boxV1.add(lbl4);
boxV1.add(Box.createVerticalStrut(8));
boxV1.add(lbl5);
boxH1= Box.createHorizontalBox();
boxH1.add(man);
boxH1.add(Box.createHorizontalStrut(10));
boxH1.add(woman);
boxV2= Box.createVerticalBox();
boxV2.add(tf1);
boxV2.add(Box.createVerticalStrut(8));
boxV2.add(tf2);
boxV2.add(Box.createVerticalStrut(8));
boxV2.add(boxH1);
boxV2.add(Box.createVerticalStrut(8));
boxV2.add(tf4);
boxV2.add(Box.createVerticalStrut(8));
boxV2.add(tf5);
baseBox= Box.createHorizontalBox();
baseBox.add(boxV1);
baseBox.add(Box.createHorizontalStrut(10));
baseBox.add(boxV2);
p1= new JPanel (new FlowLayout());
p1.add(baseBox);
p1.add(addBtn);
this.add(p1);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setSize(300,250);
Toolkittool = this.getToolkit();
Dimensiondim = tool.getScreenSize();
this.setLocation(dim.width/3+50,dim.height/3+50);
setVisible(true);
validate();
}
publicvoid actionPerformed(ActionEvent e) {
//完成语句⒀:获取数据库连接
try{
String txt1,txt2,txt3,txt4,txt5,sql;
txt1=tf1.getText().trim();
txt2=tf2.getText().trim();
if(man.isSelected())txt3="M";
elsetxt3="F";
txt4=tf4.getText().trim();
txt5=tf5.getText().trim();
sql= "insert into stu(sno,sname,age,sex,major) values (";
if(txt1.length()<=10 && Util.isNotEmpty(txt1) &&Util.isDigits(txt1)){
sql= sql + "'"+txt1+"','";
if(txt2.length()<=10 && Util.isNotEmpty(txt2)){
sql= sql + txt2+"',";
if(txt4.length()<=2 && Util.isNotEmpty(txt4) &&Util.isDigits(txt4)){
sql= sql + Integer.parseInt(txt4)+",'";
sql= sql + txt3+"','";
if(txt5.length()<=25&& Util.isNotEmpty(txt5))
sql= sql + txt5+"'";
else{
JOptionPane.showMessageDialog(this,"专业输入有误:0<长度<=25!");
return;
}
}
else{
//完成语句⒁:弹出消息对话框,内容是:年龄输入有误:0<长度<=2且是数字字符!
return;
}
}
else{
JOptionPane.showMessageDialog(this,"姓名输入有误:0<长度<=10!");
return;
}
}
else{
JOptionPane.showMessageDialog(this,"学号输入有误:0<长度<=10且是数字字符!");
return;
}
sql= sql + ")";
intcnt = 0;
//完成语句⒂:创建提交sql语句的对象,并将sql语句的执行结果赋给整型变量cnt。
if(cnt>0)
JOptionPane.showMessageDialog(this,"成功添加"+cnt+"条学生记录!");
else
JOptionPane.showMessageDialog(this,"添加学生记录失败!");
}catch (SQLException e1) {
e1.printStackTrace();
}
finally{
try{
if(stmt!=null)stmt.close();
if(conn!=null)conn.close();
}
catch(SQLException e1) {
e1.printStackTrace();
}
}
}
}
⑤DelFrame.java
package sms;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class DelFrame extends JFrame implements ActionListener{
privateConnection conn = null;
privateStatement stmt = null;
JLabellbl1 = null;
JLabellbl2 = null;
JTextFieldtf1 = null;
JTextFieldtf2 = null;
JButton delBtn = null;
JPanelp1 = null;
JPanelp2 = null;
publicDelFrame(){
super("学生信息删除");
//定义组件:从上到下,从左到右
lbl1= new JLabel("学号:",10);
lbl2= new JLabel("专业:",10);
tf1= new JTextField(20);
tf2= new JTextField(20);
delBtn=newJButton("删除");
delBtn.addActionListener(this);
p1= new JPanel (new FlowLayout());
p1.add(lbl1);
p1.add(tf1);
p1.add(lbl2);
p1.add(tf2);
p2= new JPanel (new FlowLayout());
p2.add(p1);
p2.add(delBtn);
this.setLayout(newGridLayout(3,1));
this.add(p2);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setSize(550,300);
Toolkittool = this.getToolkit();
Dimensiondim = tool.getScreenSize();
this.setLocation(dim.width/3,dim.height/3);
setVisible(true);
validate();
}
publicvoid actionPerformed(ActionEvent e) {
intresult ;
//完成语句⒃:弹出确认对话框,内容是:确定要删除吗?标题是:确认删除
if(result == JOptionPane.YES_OPTION){
conn= DatabaseConnection.getConnection("jdbc:odbc:StudentDsn","", "");
try{
String txt1,txt2,condition = "";
txt1=tf1.getText();
txt2=tf2.getText();
if(txt1!=null && !txt1.equals(""))
condition= " where sno like '%"+txt1+"%' ";
if(txt2!=null && !txt2.equals(""))
if(condition.equals(""))
condition= " where major like'%"+txt2+"%' ";
else
condition=condition + " and major like '%"+txt2+"%' ";
Stringsql = "delete from stu" + condition;
System.out.println(sql);
stmt= conn.createStatement();
intcnt = stmt.executeUpdate(sql);
if(cnt>0)
JOptionPane.showMessageDialog(this,"成功删除"+cnt+"条学生记录!");
else
JOptionPane.showMessageDialog(this,"删除学生记录失败!");
}catch (SQLException e1) {
e1.printStackTrace();
}
finally{
try{
if(stmt!=null)stmt.close();
if(conn!=null)conn.close();
}
catch(SQLExceptione1) {
e1.printStackTrace();
}
}
}
}
⑥参考SelFrame.java、AddFrame.java、DelFrame.java将UpdFrame.java的代码补充完整,完成学生信息的更新功能。
⑦Util.java
package sms;
public class Util {
//问题7:方法isNotEmpty()的功能是什么?
publicstatic boolean isNotEmpty(String str){
if(str!=null && !str.equals(""))
returntrue;
returnfalse;
}
//问题8:方法isDigits ()的功能是什么?
publicstatic boolean isDigits(String str){
char[]arr=str.toCharArray();
inti;
for(i=0;i<str.length();i++)
if(!Character.isDigit(arr[i]))
returnfalse;
returntrue;
}
}
㈢附加题:改善日历记事系统。
三、设计要求:
1.前两道题必做,第三题选做。
2.积极查阅相关教材、资料,独立完成。
四、实习报告撰写内容和要求
(一)内容
1. 系统环境(硬件环境、软件环境)
2. 设计内容:
①设计题目
②完成题目要求
③运行结果(根据自己的运行情况复制一幅)
另外:第㈡题需要将CDInfor.txt文件用写字板打开,复制最终的结果画面。
3. 设计难点及解决办法
4. 创新及技巧:根据自己的设计过程进行汇总,如果没有就不用写。
5. 心得体会
(二)要求
1. 统一书写在实习报告上。
2. 认真填写实习报告,程序要写完整,补充程序段要做特殊标记。
3. 实习报告内容:封面、课程设计任务书、设计报告。
五、设计时间:一周(第18周)。具体时间参考实验室安排表。
六、说明:
①考勤占评分的20%(提前完成的同学需要找老师登记),程序调试占评分的40%,设计报告占评分的40%。严禁抄袭、复印课程设计报告,否则相同报告均以零分计。
②设计中,要提前编制下次调试的程序,计划好每次上机的内容,积极、高效、独立地完成这次设计任务。对没有准备的同学,禁止上机。
③固定机位,将文件保存在自己的文件夹里,避免误操作或其他同学使用时丢失。
- experiment @ lzptc ,2nd实训_ 《Java语言程序设计》专业实习任务
- experiment @ lzptc , 2nd实训《Java语言程序设计》专业实习
- experiment @ lzptc , 2nd实训《Java语言程序设计》专业实习3
- experiment @ lzptc ,2nd_term_5
- experiment @ lzptc ,2nd_term_6
- experiment @ lzptc ,2nd_term_exp3
- experiment @ lzptc ,2nd_term_ex6
- experiment @ lzptc ,2nd_term_Ex7
- experiment @ lzptc ,2nd_term2_exp8
- experiment @ lzptc ,2nd_term_1
- experiment @ lzptc , 2nd_term_java实验二
- experiment @ lzptc , 2nd_term_java实验4 Swing组件的使用
- experiment @ lzptc , i forgot why calling there codes Lab.......................
- 《Java Swing》2nd Edition
- Effective Java (2nd Edition)
- 网络专业实习报告
- 专业实习01
- 专业实习02
- experiment @ lzptc , 2nd实训《Java语言程序设计》专业实习
- iOS 中打开或关闭软键盘时调整 UIScrollView 的大小
- Eclipse中自动添加注释
- C#+ArcEngine菜单实现视图基本操作的问题
- 6.7.3 实现列表函数
- experiment @ lzptc ,2nd实训_ 《Java语言程序设计》专业实习任务
- 使用Android开发打电话程序详细
- Lua简介
- 线程学习(一)
- c++实现线程池
- 要心静
- 线程学习(一)
- 单反成像原理与曝光过程
- 线程学习(一)