Java程序设计大作业

合集下载

Java语言程序设计期末大作业

Java语言程序设计期末大作业

《Java语言程序设计》公选课期末大作业学号:姓名:分数:一、程序分析题1、写出下列语句的打印结果:a. System.out.println(2+”bc”);b. System.out.println(2+3+”bc”);c. System.out.println((2+3)+”bc”);c. System.out.println(“bc”+2+3);2、执行以下代码,m和n的值是多少?int n=123456789;int m=0;while(n!=0){m=(10*m)+(n%10);n=n/10;} m= n= 3、以下代码将什么值存储在数组a[]中?int N=10;int [] a =new int[N];a[0]=1;a[1]=1;for(int i=2;i<N;i++)a[i]=a[i-1]+a[i-2]; a[]=4、下面的代码段最后的输出结果是什么?Public static String duplicate(String s){String t=s+s;return t;}String s=”Hello”;s=duplicate(s);String t=”Bye”;t=duplicate(duplicate(duplicate(t)));System.out.println(s+t) ; 输出结果:5、请问一下代码执行for循环迭代了多少次?public static void cube(int i){i=i*i*i;}for( int i=0;i<1000;i++)cube(i); 迭代次数:最终i的值=二、简答题1、请举例列出实现线程MyThread类的两种方法,及其启动应用过程。

2、请举例说明Java编程中类方法的重写(overloading)与覆盖(overriding)的实现与区别?三、设计一个如下图所示的计算器软件,完成计算器的基本功能。

软件顶部显示自己的学号和姓名。

《Java程序设计》大作业

《Java程序设计》大作业
要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:
1、查询余额:初始余额为10000元
2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
3、ATM存款:不能出现负存款。
4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
6、万年历
要求:
使用图形用户界面。
实现日期与星期的查询
7、计算器
要求:
使用图形用户界面。
实现常用的计算功能。
8、日历记事本
要求:带有日程提醒功能的日历。
1、显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。
2、定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信息,当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。
《Java程序设计》大作业
要求:
最后提交打印的大作业报告,报告内容格式如下:
封面(包括姓名,学号,班级,专业,院系)
题目(把你选择的题目写在这里)
程序(程序的源代码)
运行结果(运行的结果,贴图的形式)
总结
大作业题目:
1、编写一个记事本程序
要求:
用图形用户界面实现。
能实现编辑、保存、另存为、查找替换等功能。
12、.敏感词汇分析
要求:
任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。
3、查询信息:用户可以查询到某个月的所有的提示信息。

java程序设计大作业

java程序设计大作业

Java程序设计大作业可能涉及多个方面,具体取决于你的课程要求和教师的要求。

以下是一个可能的Java程序设计大作业的示例:题目:设计并实现一个简单的计算器应用程序。

要求:1. 使用Java编写一个命令行应用程序,能够执行基本的数学运算(加、减、乘、除)。

2. 用户应该能够输入两个数字和一个运算符,程序将根据运算符执行相应的运算并输出结果。

3. 程序应该能够处理不同类型的数字(整数和浮点数)和运算符。

4. 程序应该能够处理输入错误,例如用户输入了无效的运算符或非数字字符。

示例代码:```javaimport java.util.Scanner;public class Calculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个数字:");double num1 = scanner.nextDouble();System.out.print("请输入运算符(+、-、*、/):"); String operator = scanner.next();System.out.print("请输入第二个数字:");double num2 = scanner.nextDouble();double result = 0;switch (operator) {case "+":result = num1 + num2;break;case "-":result = num1 - num2;break;case "*":result = num1 * num2;break;case "/":if (num2 == 0) {System.out.println("除数不能为0!");return;} else {result = num1 / num2;}break;default:System.out.println("无效的运算符!");return;}System.out.println(num1 + " " + operator + " " + num2 + " = " + result);}}```在这个示例代码中,我们使用了`Scanner`类从用户那里获取输入。

《JAVA程序设计》大作业报告模板

《JAVA程序设计》大作业报告模板

华北科技学院计算机系课程综合作业实验报告课程名称JAVA程序设计实验学期2010 至2011 学年第 1 学期学生所在系部计算机年级08级专业班级信管B082学生姓名学号************ 任课教师实验成绩计算机系制《JAVA程序设计》课程综合作业实验报告学生的学号,可以更新这条记录中的数据;“查询记录”,输入要查询学生学号可以查询这个学生的所有信息;选择分数信息中的“各科最高低分”菜单,可以查询所有学科中的最高分和最低分;“总分平均分”显示所有学生的总分和平均分。

3.主要代码本程序使用Java中基于SWING的图形设计,用到java中的java.awt.*内的包,控件的布局用到java.swing.border.*包,事件处理用到java.awt.event.*,连接数据库用到java.sql 登录界面主要代图1public class denglu{public static void main(String args[]){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){ //11System.out.println(""+e);}new WindowBox("登录窗口"); //调用方法}}class WindowBox extends JDialog implements ActionListener{//声明Box baseBox,boxV1,boxV2,boxV3;JButton button1,button2;}}}如果出现用户名密码错误则会出现提示信息对话框图2通过调用Datawin类中的内容可以进入到主界面声明菜单中的显示、添加、删除、修改、查询、最高低分以及总分平均分菜单项和类,能过给菜单添加事件监听事件图3public void actionPerformed(ActionEvent e){if(e.getSource()==itemshow)show.setVisible(true);else if(e.getSource()==itemadd)add.setVisible(true);else if(e.getSource()==itemupdata)updata.setVisible(true);a[k][0]=rs.getString(1);a[k][1]=rs.getString(2);a[k][2]=rs.getString(3);a[k][3]=rs.getString(4);a[k][4]=rs.getString(5);a[k][5]=rs.getString(6);k++;}con.close();}catch(SQLException ee){System.out.println(ee);} //处理异常table=new JTable(a,name);getContentPane().removeAll(); //采用BorderLayout布局add(showRecord,BorderLayout.NORTH);add(new JScrollPane(table),BorderLayout.CENTER);validate();}图4构造增加类,声明组件,定义一个表名Object name[]={"学号","姓名","年龄","性别","系别","班级"};和定义一个表单Object a[][]=new Object[1][6];然后给按钮组件增加以下监听事件,通过对表单中输入数据进而增加到数据库中public void actionPerformed(ActionEvent e)//处理事件图5图6构造删除类,声明组件,在文本框中输入信息,进而可以删除数据库中相应的记录给文本框和按钮增加以下事件public void actionPerformed(ActionEvent e){if(e.getSource()==inputNumber){try{num=inputNumber.getText().trim();con=DriverManager.getConnection("jdbc:odbc:hello","","");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM 学生信息 WHERExueid='"+num+"'");boolean boo=rs.next();if(boo==false){JOptionPane.showMessageDialog(this,"学号不存在",table.repaint();//重打印表con.close();}catch(SQLException ee){JOptionPane.showMessageDialog(this,"更新失败"+ee,"失败",JOptionPane.ERROR_MESSAGE);}}//if图7构造查询方法查询这个窗体整体彩盒式布局,首先声明类和方法设计窗体的外观,给相应的组件添加事件利用SQL语句查询数据库中的信息 rs=sql.executeQuery("SELECT * FROM 学生信息WHERE xueid='"+num+"'");如果输入学号数据库中不存在提示信息“学号不存在”,否则利用table.repaint();方法将数据库中的信息输入到窗体中的table中public void actionPerformed(ActionEvent e)//处理事件{try//连接数据原 hello{num=inputNumber.getText().trim();con=DriverManager.getConnection("jdbc:odbc:hello","","");图8构造最高最低分类首先定义两个静态变量m,n;将数据库中的信息利用查询的方法显示在数字 int b[][]中,con=DriverManager.getConnection("jdbc:odbc:hello","","");sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);//只读形式rs=sql.executeQuery("SELECT * FROM 分数信息");st();利用如下方法求得语文成绩的最高分和最低分for(k=0;k<lastNumber;k++){if(m<b[k][0]){m=b[k][0];}if(n>b[k][0]){n=b[k][0];}}a[0][1]=m;a[1][1]=n;同理可以求得其它几科成绩的最高分和最低分然后,将object a[][]中的信息显示有窗体中图9构造总分平均分方法首先将数据库中的信息显示在利用SQL查询方法显示有两个数据中object a[][]和int b[][]中利用如下方法将求得总分和平均分try{con=DriverManager.getConnection("jdbc:odbc:hello","",""); sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=sql.executeQuery("SELECT * FROM 分数信息");st();int lastNumber=rs.getRow();b=new int[lastNumber][4];a=new Object[lastNumber][8];int k=0;rs.beforeFirst();while(rs.next()){a[k][0]=rs.getString(1);a[k][1]=rs.getString(2);a[k][2]=rs.getByte(3);b[k][0]=rs.getByte(3);a[k][3]=rs.getByte(4);b[k][1]=rs.getByte(4);a[k][4]=rs.getByte(5);b[k][2]=rs.getByte(5);a[k][5]=rs.getByte(6);b[k][3]=rs.getByte(6);a[k][6]=b[k][0]+b[k][1]+b[k][2]+b[k][3];a[k][7]=(b[k][0]+b[k][1]+b[k][2]+b[k][3])/4;k++;}con.close();}catch(SQLException ee){System.out.println(ee);}图10四、实验结果及分析程序运行中的报告分析1、在登陆时如果输入不正确的用户和密码会提示用户名或密码错误,因为通过getText()方法无法获得正确的字符串从而提示错误2、在进行数据库相应操作时,如果无法正确连接数据库则会提示不存在所需的数据资源,可能原因是没有正确连接到数据源,即可能数据源名称不正确,或者在数据库中不存在相应的表,或者可能SQL语法错误在进行相应的查询的删除操作时,如果不存在输入的学号会提示用户,“学号学号不存在”,因为不在数据库不无法在相应的字段下找到相匹配的字符串。

java程序设计大作业报告

java程序设计大作业报告

Java程序设计大作业报告1. 引言本报告是关于Java程序设计大作业的报告,旨在总结和描述本次大作业的设计和实现过程。

本次大作业的主题是设计一个学生成绩管理系统。

2. 需求分析在开始设计和实现学生成绩管理系统之前,首先需要明确系统的需求。

本次大作业的学生成绩管理系统需要包含以下功能: - 学生信息管理:包括学生的基本信息和成绩信息。

- 成绩录入和查询:教师能够录入学生的成绩,并能够查询和修改学生的成绩信息。

- 成绩统计和分析:系统能够对学生的成绩进行统计和分析,例如计算平均分、最高分、最低分等。

3. 系统设计根据需求分析的结果,我们可以开始进行系统设计。

以下是学生成绩管理系统的设计步骤:3.1 类设计首先,我们需要定义学生类(Student)和成绩类(Grade)来管理学生和成绩信息。

学生类包含学生的基本信息,如学号、姓名、性别等,成绩类包含学生的各科成绩信息。

此外,我们还需要设计一个教师类(Teacher),用于录入和查询学生的成绩信息。

3.2 数据结构设计在设计学生成绩管理系统时,我们需要选择适合的数据结构来存储和管理学生和成绩信息。

例如,可以使用数组、链表或哈希表等数据结构来存储学生和成绩信息,根据具体需求进行选择。

3.3 用户界面设计学生成绩管理系统需要有一个用户友好的界面,方便教师进行操作。

可以使用图形界面(GUI)或命令行界面(CLI)来实现用户界面。

4. 系统实现在完成系统设计后,我们可以开始实现学生成绩管理系统。

4.1 学生类实现首先,我们需要实现学生类。

学生类应该包含学生的基本信息和成绩信息的操作方法,例如获取学生的基本信息、添加和修改成绩等。

4.2 成绩类实现接下来,我们需要实现成绩类。

成绩类应该包含学生的各科成绩信息,并提供计算平均分、最高分、最低分等操作方法。

4.3 教师类实现然后,我们需要实现教师类。

教师类应该包含录入和查询学生成绩的操作方法,例如录入学生成绩、查询学生成绩等。

JAVA程序设计大作业报告

JAVA程序设计大作业报告
JAVA程序设计大作业报告
过程:
1、课程设计目的 2、课程设计题目描述与要求 3、课程设计报考内容 4、输出结果 5、实验总结
1、课程设计目的
用面向对象语言JAVA完成计算 器的设计和实施。通过课程设计掌 握面向对象编程技术,常用库类的 使用和应用系统的开发过程。
2、课程设计题目描述与要求
(1)完成窗口的关闭 按钮的功能; (2)完成清空键 功能;(即清空文本框中的内容) (3)完成数字按钮的功能;(即文本框显示对应数字) (4)完成基本的“+”,“-”,“*”,“/”四则运算;
3、课程设计报告内容
3.1 课程设计思路 设计的程序能完成计算器的基本功能 例如四则运算 3.2 设计过程 本次设计一个简易的计算器的界面,该计算器运行 程序后的界面如下图所示 该计算机包括了加减乘除四则运算 操作建议
3.3实验源代码
在设计这个程序的开始,我们首先设计这个计算器的 界面,我用比较简单的方法,运用GridLayout(4,5)来实 现简单的排版。然后把我需要的几个按键都依次的输入s("CE"))
{
display.setText("0"); start=true; flag=true; command="=";
} else if(start&&flag) { if(command.equals("-")) { display.setText(command); start=false; } else if((command.equals("1/x")||command.equals("sqrt"))&&flag) calculate(Double.parseDouble(display.getText()),command); else if(flag) lastCommand=command; } else { if(command.equals("Backspace")&&flag) { String s=display.getText(); char[] s1=s.toCharArray(); if(s.length()>=2) { String s2=new String(s1,0,s.length()-1); display.setText(s2); } else { display.setText("0"); start=true; } } else if(flag) { calculate(Double.parseDouble(display.getText()),command); lastCommand=command; start=true; } } } }

Java程序设计大作业实验报告

Java程序设计大作业实验报告

目录一、前言 (2)二、需求分析 (3)三、系统总体设计 (3)3.1系统总体设计系统思路 (3)3.2数据库设计 (4)3.2.1 login1表的设计和数据 (4)3.2.2 student表的设计和数据 (5)3.2.3 course表的设计和数据 (5)3.2.4 score表的设计和数据 (6)3.3系统功能模块设计 (6)四、系统详细设计 (7)4.1登录模块 (7)4.2 学生模块 (7)4.3 教师模块 (8)4.4 管理员模块 (8)五、系统测试及运行结果 (9)5.1 主界面 (9)5.2 学生管理中心界面 (9)5.3 教师管理中心界面 (10)5.4 管理员管理中心界面 (10)5.5 查询课表界面 (11)5.6 查询成绩界面 (11)5.7 查询教学情况界面 (11)5.8 查询所有学生成绩界面 (12)5.9 学生信息管理界面 (12)5.10 学生成绩管理界面 (13)5.11 用户管理界面 (13)六、实验总结 (14)七、参考文献 (14)一、前言随着计算机在人们生活中的普及和网络时代的来临,对信息的要求日益增加,学生信息管理业务受到了较为强烈的冲击,传统的手工管理方式传统的手工管理方式已不能适应现在的信息化社会。

如何利用现有的先进计算机技术来解决学生信息管理成为当下的一个重要问题,学生信息管理系统是典型的信息管理系统,其开发主要就是针对前台的页面展示以及后台数据的管理。

对于前者,要求应用程序功能完备,易于使用,界面简单;而对于后者,则要求数据库具有一致性、完整性,并能够依据前台的操作来对应操作后台数据库达到一定的安全性。

本学生信息管理系统主要采用的纯JAVA代码实现图形界面系统的开发,以及数据库知识进行数据的查询,删除,插入和更新。

本系统主要分为三个部分:学生模块、教师模块、管理员模块。

其中学生模块实现的功能:查询课表信息和查询成绩。

教师模块实现的功能:查询课表信息、查询教学情况和查询所有学生的各科成绩。

Java大作业设计报告

Java大作业设计报告

《Java程序设计》大作业设计报告设计名称多人聊天室组员姓名学生班级设计时间 2013.12.15设计成绩一、问题描述及设计思路设计多人聊天程序,能进行多人实时聊天,其中服务器为PC端,客户端为安卓端。

在服务器上,不断监听来自客户端的接入请求,对于接入的客户端加入线程池,同时为之开启独立线程,等待从该客户端发来的信息,再转发给其他客户端。

在客户端上,首先布局简单的安卓界面,开启客户端并且登录后,设置button 按钮监听想服务器发送信息请求,同时开启独立线程接收来自服务器的信息(即来自其他客户端的信息)。

二、详细设计过程服务器开发1.首先,导入了我们完成服务器端所要完成的各种类:能,辅助以GUI界面进行美化。

2.在Server类里面的私有成员函数里,有以下定义:程运行做准备,同时创建了一个广义的ArrayList<Socket>vector,用来存放客户端的套接字。

创建了两个file类的文件,分别用于记录客户端的链接信息和保存客户端的聊天记录。

一个独立的线程,互不干扰。

接下来则是采用GUI组件进行简单的界面设计,在try-catch块里完成主要功能。

首先,采用ServerSocket serverSocket = new ServerSocket(port);建立套接字,一旦建立成功,则在服务器端的界面上会出现创建的日期信息。

又使用Socket socket = serverSocket.accept();连接客户端,采用while语句不断监听客户端连接,收到请求后,则在服务器端显示客户端的信息,如连接到服务器的时间,客户端的主机名称和IP地址,这些信息会被写进txt文本进行保存。

mExecutorService.execute(new Thread(newHandleAClient(socket)));则是向线程池中添加线程,这里使用了一个内部类HandleAClient用于处理服务器和单独一个客户端之间的问题。

《Java语言程序设计》大作业报告九宫格游戏

《Java语言程序设计》大作业报告九宫格游戏

if(replay==JOptionPane.YES_OPTION){
Game G=new Game();
1. 运行结果及分析
因为是字节流储存,所以显示是字符
1. 设计经验总结 刚刚开始感觉很难,因为对图形界面太不了解了,有的函数和类都不知道,所以超级难入手,但是当看网上的代码和同学的多了之后也就知道该怎么编了,一旦入手,后 面的就感觉没有那么难了,现在编完了就感觉图形界面也就那么回事,都是固定的模式,模块添加也很简单,虽然还是有很多不懂的地方但是相比于做大作业之前已经有 很多的提高了,还认识了很多不认识的组件,同学们都用了不同的方法,我用的是网格布局然后添加button,感觉这样界面友好一点。弹出的对话框可以JOptionPane而不 是再定义JDialog,文件的读写方法很多,选一种自己理解的就好。 总的来说学到了很多知识,更加巩固了本来就很薄弱的java。 附:源程序
Buttons[i-1][j].setEnabled(true);
Buttons[i][j].setText("");
Buttons[i][j].setEnabled(false);
number_path++;
}
if(j+1!=3&&Buttons[i][j+1].getText()==""){
Buttons[i][j+1].setText(Buttons[i][j].getText());
e1.printStackTrace();
}
if(number_path>best_recond){
JOptionPane.showConfirmDialog(this,"你太厉害了!!这么难都能赢!!!才用了"+Integer.toString(number_path)+"步!!然而并没有打破记录。历史最佳成绩是:"+Integer.toString(best_recond));

Java大作业报告

Java大作业报告

课程:Java程序设计与应用开发题目:登录系统与钟表实现班级:XXXXXXXXXX学号:XXXXXXXX姓名:XXXX日期:XXXXX一、大作业目的用面向对象语言JA V A完成登录系统和钟表的分析、设计和实施。

通过课程设计掌握面向对象编程技术、GUI编程、常用类库的使用和应用系统的开发过程。

二、大作业题目描述和要求1.题目设计简单的登录系统和钟表界面,掌握Java编程中的多媒体应用。

2.要求(1)登录系统是java编程中比较基础的,设计一个登录对话框,通过输入正确的用户名和密码来进入系统,系统是一个带有菜单栏的记事本程序,通过点击菜单栏上的按钮来实现相应的功能。

(2) 通过设计一个钟表程序进一步掌握java在多媒体方面的应用。

3. 开发环境Eclipce + JDK1.4.2三、系统分析1.对于登录系统,首先应该对登录界面进行设计,该对话框中包括两个标签,一个文本输入框,一个密码输入框和两个按钮,这些GUI组件被添加到一个使用了网络袋布局的面板panel中,面板panel又被添加到Text_Login的内容窗格。

设计该系统的初步思路就是首先需要定义图像生成器的界面窗口,其次就是往每个按钮上添加触发事件监听器(如ActionListener、MouseListener、MouseMotionListener),然而在实际操作的过程中,新的问题不断出现,不过最后依依解决了。

对于记事本程序中的菜单栏的实现,菜单也是一种常用的GUI组件,菜单是一种层次结构,最顶层是菜单栏,在菜单栏中可以添加若干个菜单,每个菜单又可以添加若刚菜单选项,子菜单。

当单击一个菜单选项时,会生成一个动作事件,为菜单选项添加事件侦听器就可以侦听起动作事件。

2.对于Java的多媒体应用之钟表实现,程序在窗口上显示一个表盘,时刻度和分刻度为3D样式的,分别为黑灰色和灰色时针分针秒针随着时间在走动,间隔1s。

时针和分针的样式设计为略显锥形,秒针为简单的直线形。

Java程序设计基础大作业

Java程序设计基础大作业

在这个练习里,创建一个简单版本的(账户类)Account类。

将这个源文件放入banking程序包中。

在创建单个帐户的默认程序包中,已编写了一个测试程序TestBanking。

这个测试程序初始化帐户余额,并可执行几种简单的事物处理。

最后,该测试程序显示该帐户的最终余额。

1.创建banking 包2.在banking 包下创建Account类。

该类必须实现上述UML框图中的模型。

1.声明一个私有对象属性:balance,这个属性保留了银行帐户的当前(或即时)余额。

2.声明一个带有一个参数(init_balance)的公有构造器,这个参数为balance属性赋值。

3.声明一个公有方法getBalance,该方法用于获取经常余额。

4.声明一个公有方法deposit,该方法向当前余额增加金额。

5.声明一个公有方法withdraw从当前余额中减去金额。

3.编译TestBanking.java文件。

4.运行TestBanking类。

可以看到下列输出结果:Creating an account with a 500.00 balanceWithdraw 150.00Deposit 22.50Withdraw 47.62The account has a balance of 324.88package banking;public class Account {private double balance;public Account(double balance){this.balance=balance;}public double getBalance() {System.out.println("当前余额为:"+balance+"元");return balance;}public double deposit(doubleadd){ //取钱方法balance+=add;System.out.println("存钱"+add+"元,当余额为"+balance+"元");return balance;}boolean withdraw(doubleget){ / /取钱方法if(get<=balance){System.out.println("取钱"+get+"元,当余额为"+balance+"元");return true;}else{System.out.println("'余额不足");return false;}}}package banking;public class Customer {private String firstName;private String lastName;private Account account;public Customer(String firstName,String lastName) //账户名字构造方法{this.firstName=firstName;stName=lastName;System.out.println("用户名为:"+firstName+"\t"+lastName);public String getFirstName(){return firstName;}public String getLastName(){return lastName;}public void setAccount(Account account) {this.account = account;}public Account getAccount() {return account;}@Overridepublic String toString() {return "Customer [account=" + account + "]"; }}package banking;public class Bank {private Customer customers[];private int numberOfCustomers[];//公有构造器public Bank() {customers = new Customer[5];numberOfCustomers = new int[5];}public static int index = 0;public static int c= 0;public void addCustome(String firstName,String lastName) {index=+c;customers[index] = new Customer(firstName, lastName);numberOfCustomers[index]=++c;}public int getNumOfCustomers(){return numberOfCustomers.length;}public Customer getCustomer(int index){return customers[index];}}package banking;public class SavingAccount extends Account { //存款账户private double interestRate;public double getInterestRate() {return interestRate;}public void setInterestRate(double interestRate) {this.interestRate = interestRate;}public SavingAccount(double balance,double interestRate){super(balance);this.interestRate=interestRate;}}package banking;public class CheckingAccount extendsAccount{ //透支账户private double overdraftProtection; //属性public double getOverdraftProtection() {return overdraftProtection;}public void setOverdraftProtection(double overdraftProtection) { this.overdraftProtection = overdraftProtection;}public CheckingAccount(double balance){ //构造方法super(balance);}public CheckingAccount (double balance,double overdraftProtection) {super(balance);this.overdraftProtection=overdraftProtection;}boolean withdraw(doubleget){ / /覆盖取钱方法if(balance-get>0){balance = balance - get;System.out.println("取钱"+get+"元,当余额为"+balance+"元");return true;}else{if(get<=getOverdraftProtection())System.out.println("'余额为:"+(balance-get));elseSystem.out.println("请在可透支范围内提款!");return true;}}}。

java语言程序设计期末考查大作业报告 3-4

java语言程序设计期末考查大作业报告 3-4

《Java语言程序设计》大作业报告2019-2020学年第一学期班级:--------自己填--------学号:--------自己填--------姓名:--------自己填--------1、设计题目⑴假设车库有3个车位(可以用boolean [ ]数组来表示车库)可以停车,使用多线程模拟多个用户开车离开、停车入库的过程。

注意:车位有车时不能停车。

⑵编写一个菜单程序,要求菜单的结构如下:文件------打开------关闭系统管理------用户管理------新增用户------删除用户------退出系统要求:对退出系统添加事件、并加入快捷键CTRL+E;对新增用户添加事件、并加入快捷键CTRL+A;当点击新增用户菜单,出现一个对话框,对话框中有两个文本框(用户名和密码),同时出现两个按钮(确定和取消)。

确定按钮要有事件功能,且将输入的用户名和密码存入到一个文件中。

取消按钮事件负责完成关闭对话框功能。

2、程序设计思路(要求分步骤写清设计思路,并画出类的UML图)2.1作业32.1.1主要模块划分Park类:里面私有属性parting为车位数量初始化为3个,成员方法into (),也就是停车方法,调用该方法车位减一。

成员方法out(),调用该方法代表车子离开,车位加一。

OutThread类:继承Thread类,重写run方法,并且调用out()方法IntoThread类:继承Thread类,重写run方法,并且调用into()方法Test类:测试类,用来测试,启动OutThread类和IntoThread类线程进行测试。

2.1.2类图2.2作业42.2.1主要模块划分addActionListener:监听事件,主要用于实现鼠标事件,完成页面的打开,关闭,调用文件流;JMenuItem :菜单下拉框列表,让页面的交互性更强,提升用户体验;KeyStroke:快捷键的加入,同JMenuItem 一样,是为了提高用户的体验;2.2.2类图Jframe 类2.2.3 流程图3、 运行结果分析(截图每个关键运行点界面)菜单页面完成添加添加失败关闭窗口取消添加打开添加用户页面作业3:第一次测试,在测试类里面启动IntoThread类的线程和OutThread线程循环调用两个线程,发现只有有车位时,其他车子才能停进去作业4:运行Main函数,run us 得到一个窗口基本菜单列表展示点击新增用户,弹出添加新用户页面(默认文字为请输入新用户名):点击取消或者按ctrl+E,关闭当前窗口,并返回到窗口页面;按照要求填好用户信息,点击确认,则提示添加成功:此时打开指定文档jfram.txt则可以查看到输入的用户名和密码:4、设计中遇到的问题,解决途径及思路,经验总结。

《JAVA程序设计》大作业题目与要求

《JAVA程序设计》大作业题目与要求

《JA V A程序设计》大作业题目与要求1.题目原则从以下题目选择,也可从两个或多个个题目中各取部分组合。

若课程设计的工作量能满足要求,也可自行设计题目。

提倡选择某一题目后,学生自己填加一些有创意的程序。

2.语句不少于200行3.写好实验报告。

实验报告说明书的要求:(1)实验目的:结合开发的系统,给出设计目的(2)功能模块简介和系统结构图:结合自己实际开发的系统以及课程设计内容的要求,给出课程设计开发的系统的主要功能模块简介和系统结构图,要求能反映课程设计的主要内容。

(3)系统的主要界面设计及运行说明:结合自己实际开发的系统,给出系统的窗体的整体布局,主要界面设计及运行说明,即主程序界面和子程序的界面,一般可抓几个图,同时给出简单的调出这些程序的过程,及系统的使用说明等。

(4)整理并打印主要的源程序代码。

(5)实验总结:总结本次课程设计的软件中有何收获、有何创新和所存在的不足以及需要改进的地方。

(6)封面:封面从FTP下载“华北科技学院计算机课程设计实验报告”,课程名称为“JA V A程序设计”4.以下题目只给出一般要求,同学可根据题目自己发挥,添加功能,最好有所创《JA V A程序设计》大作业题目与要求1.题目原则从以下题目选择,也可从两个或多个个题目中各取部分组合。

若课程设计的工作量能满足要求,也可自行设计题目。

提倡选择某一题目后,学生自己填加一些有创意的程序。

2.语句不少于200行3.写好实验报告。

实验报告说明书的要求:(1)实验目的:结合开发的系统,给出设计目的(2)功能模块简介和系统结构图:结合自己实际开发的系统以及课程设计内容的要求,给出课程设计开发的系统的主要功能模块简介和系统结构图,要求能反映课程设计的主要内容。

(3)系统的主要界面设计及运行说明:结合自己实际开发的系统,给出系统的窗体的整体布局,主要界面设计及运行说明,即主程序界面和子程序的界面,一般可抓几个图,同时给出简单的调出这些程序的过程,及系统的使用说明等。

(完整word版)java大作业报告模板

(完整word版)java大作业报告模板

郑州轻工业学院《Java程序设计》作业报告姓名(学号)许超(5413060401XX)专业班级信管13-01指导教师黄永丽完成时间 2015 年 7月 1日成绩一、设计目的及任务要求设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。

要求如下:(1)具有简单的录入,查询和修改功能。

(2)修改学生信息必须输入学号,然后对姓名、性别和专业等进行修改;(3)使用集合类来保存存储数据。

(也可用文件来保存,也可以用数据库)(4)学生个人信息必须包括:学号、姓名、性别、出生日期、身份证号、专业、班级自我简介,其余可自行丰富。

实现使用:前台窗口使用GUI编程创建图形界面,对图形界面的窗口和按钮进行事件监听,对于学生信息的录入,在GUI界面上输入学生信息,将相应的学生信息,保存到集合或者文件中。

查询根据查询条件如学号把相应的学生信息找到在图形用户界面上显示出来。

而修改功能是先查询在把修改后的信息保存。

二、系统功能分析与设计设计的学生个人信息管理系统,此系统能够实现学生信息录入,查找修改的功能,要有信息录入保存就必须有储存数据的地方,在这里我选择用文件来设计学生信息储存,学生信息查找功能需要按学号查找,学生信息修改要先查找到需要修改的学生信息然后修改。

系统体系设计如下三、数据分析与设计在我的学生信息管理系统中,用文件来保存学生信息,定义文件并把文件放在和程序同一个文件夹下放进去数个原始数据,然后在程序中进行录入、查询和修改。

定义代码如下:File file=new File("studentData.txt");file.createNewFile();文件如下:四、设计思路(相关类介绍,以及类之间的关系图)1.相关类介绍○1JFrameDemo类是本系统的主类,是程序的主要功能实现类,它继承自JFrame类。

○2b6.addActionListener(new ActionListener() {})类是JFrameDemo 的内部类,实现按钮b6的监听功能。

JAVA-课程设计(大作业)报告

JAVA-课程设计(大作业)报告

课程设计(大作业)报告课程名称:面向对象程序设计课程设计设计题目:设计一个记事本院系:信息技术学院班级:设计者:学号:指导教师:设计时间:信息技术学院昆明学院课程设计(大作业)任务书简单记事本程序的设计目录一.题目分析 (5)1.1需求分析 (5)1.2功能要求设计 (5)二.总体设计 (5)2.1设计思路 (5)2.2运行界面 (6)2.3模块说明图 (6)2.4主流程图 (7)2.5 UML图 (7)2.6程序相关说明 (8)三.运行环境 (8)四.详细设计与分析 (8)4.1.初始化组件 (8)4.2.构建菜单栏及其下拉菜单 (8)4.3.“文件”菜单的事件监听 (9)4.5.异常处理 (10)五.调试分析 (12)六.总结 (13)七.参考文献 (14)附录(源代码) (14)一.题目分析1.1需求分析现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。

功能也是应有尽有,有的能改变字体,有的能改变文字颜色。

但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。

仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。

本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。

该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。

该程序主要用到了Java swing和事件监听等。

1.2功能要求设计设计一个记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找替换等功能,可扩展功能。

本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:5)菜单中有“文件”,“编辑”,“关于”三个主菜单。

陕西师范大学《JAVA程序设计》作业

陕西师范大学《JAVA程序设计》作业

答案+我名字《JAVA程序设计》作业一、选择题1、编译HelloWorld.java的正确命令是:A)java HelloWorld.class B)java HelloWorld.java C)javac HelloWorld.java2、正确运行HelloWorld.java的正确命令是:A)java HelloWorld B)javac HelloWorld.java C)javac HelloWorld.class3、下面程序代码,使用多行注释正确的是:A) // int k=9;// int j=8;// k = k + j;B) */ int k=9;int j=8;k = k + j;/*C) /* int k=9;int j=8;k = k + j; */D)/** int k=9;int j=8;k = k + j;/*4、long型的取值范围是:A)-27~27-1 B)-215~215-1 C)-231~231-1 D)-263~263-15、下面不属于Java保留字的是:A)abstract B)if C)malloc D)this6、下面属于非法的Java标识符的是:A)abc_xyz B)$abc C)_abc_ D) abc-d7、对与System.out.println()语句解释合理的是:A)执行后什么都不输出 B)执行后输出一个空格C)执行后输出一个空行 D)语法错误8、阅读下面的代码,回答问题,for( m = 0 ; m > -2 ; m -- ){….}For循环执行多少次:A)0 B)1 C)2 D)39、阅读下面的代码,回答问题,for( m = 0; m < 5; m++ ){System.out.print( m + "," );if( m == 3 )break;}执行结果是:A)0,1,2,3,4,5 B)0,1,2,3,4 C)0,1,2,3 D)0,1,210、阅读下面的代码,回答问题,public class Ex{int x = 1;void m(){int x = 3;System.out.print( "x= " + x);}public static void main( String[] args ){Ex ex = new Ex();ex.m();}}执行结果是:A)没有结果输出 B)x=3 C)x=1 D)编译错误11、下面语句在编译时不会出现错误信息的是:A.float f = 1.3; B.char c = "a"; C.byte b = 257;D.boolean b = null; E. int i = 10;12、编译和运行下面的代码,会有什么结果产生:public class MyClass { public static void main(String arguments[]) {amethod(arguments);}public void amethod(String[] arguments) {System.out.println(arguments);System.out.println(arguments[1]);}}A.错误,静态方法不能直接引用非静态方法B.错误,主方法有错误C.错误,数据定义有错误D.方法amethod必须被声明为String型13、编译期间会出错的是:A.import java.awt.*;package Mypackage;class Myclass {} B.package MyPackage;import java.awt.*;class MyClass{} C./*This is a comment */ package MyPackage;import java.awt.*;class MyClass{}14、byte型的变量的表示范围为:A.-128 to 127 B.(-2 power 8 )-1 to 2 power 8 C.-255 to 256 D.依赖Java虚拟机而定15、在命令行运行命令:java myprog good morning会有什么结果显示出来:public class myprog{ public static void main(String argv[]){System.out.println(argv[2])}}A.Myprog B.Good C.morning D. Exception raised: "ng.ArrayIndexOutOfBoundsException: 2"16、下面不是Java保留字的是:A.If B.then C. Goto D. while17、下面属于非法的标识符的是:A.2variable B.variable2 C._whatavariable D. _3_ E. $anothervar18、编译下面的代码,会有什么结果产生:public class MyClass{ static int i; public static void main(String argv[]){ System.out.println(i);}}A.错误,变量i 没有初始化B.Null C.1 D.0 19、编译运行下面的代码,会有什么结果产生:public class Q { public static void main(String argv[]){ int anar[]= new int[]{1,2,3}; System.out.println(anar[1]);}}A. 1 B. 3 C. 2 D.错误,数组anar的长度没有定义.20、编译运行下面的代码,会有什么结果产生:public class Q {public static void main(String argv[]){ int anar[]= new int[5];System.out.println(anar[0]);}}A.编译错误B.Null C.0 D. 5 21、编译运行下面的代码,会有什么结果产生:abstract class MineBase { abstract void amethod(); static int i; }public class Mine extends MineBase {public static void main(String argv[]){ int[] ar = new int[5]; for(i = 0;i < ar.length;i++) System.out.println(ar[i]);}}A.五个0被输出B.错误,ar使用前没有初始化C.错误,类Mine 必须要被声明为抽象的类D.IndexOutOfBoundes Error i22、编译运行下面的代码,会有什么结果产生:int i = 1; switch (i) { case 0: System.out.println("zero");break;case 1: System.out.println("one");case 2: System.out.println("two");default:System.out.println("default");}A. One B.one, default C. one, two, default D. Default23、编译运行下面的代码,会有什么结果产生:int i = 9; switch (i) { default:System.out.println("default");case 0: System.out.println("zero");break;case 1: System.out.println("one");case 2:System.out.println("two");}A.Default B.default, zero C. error default clause not defined D. no output displayed24、下面不会在编译时出错的是:A.int i=0; if(i){System.out.println("Hello");}B.boolean b = true; boolean b2 = true; if(b==b2)System.out.println("So true"); C.int i=1; int j = 2; if(i ==1&j==2) System.out.println("OK");D.int i=1; int j = 2; if(i ==1 &| j==2) System.out.println("OK");25、编译运行下面的代码,会有什么结果产生,注意,在当前目录里没有文件Hello.txt:import java.io.*;public class Mine {public static void main(String argv[]){ Mine m = new Mine(); System.out.println(m.amethod());}public int amethod() {try { FileInputStream dis = new FileInputStream("Hello.txt"); }catch (FileNotFoundException fne) { System.out.println("No such file found"); return -1; }catch(IOException ioe) { } finally{ System.out.println("Doing finally"); }return 0; }}A. No such file found B. No such file found ,-1 C. No such file found, doing finally, -1 D. 026、建立一个HTML去显示一个applet时,必须要定义的tags是:A.name, height, width B.code, nameC. codebase, height, width D. code, height, width27、编译运行下面的代码,会有什么结果产生:class Base {} class Sub extends Base {} public class CEx{ public static void main(String argv[]){ Base b = new Base(); Sub s = (Sub) b; }}A.Compile and run without error B.Compile time Exception C. Runtime Exception28、用下面的HTML去显示applet:MgAp,控制台会有什么结果显示:<applet code = MgAp.class height=400 width=400 parameter HowOld=30 > </applet>import java.applet.*; import java.awt.*; public class MgAp extends Applet{ public void init(){ System.out.println(getParameter("age"));}}A. Error no such parameter B. 0 C. Null D. 3029、Math类包含在哪个包里:A. java.io B. java.awt C. ng D. java.applet30、编译运行下面的代码,会有什么结果产生://Code start import java.awt.*; public class Butt extends Frame{ public static void main(String argv[]){ Butt MyBut= new Butt(); }Butt(){Button HelloBut = new Button("Hello"); Button ByeBut = new Button("Bye"); add(HelloBut);add(ByeBut);setSize(300,300);setVisible(true);}}//Code enda) 两个按钮并列占据整个frame b) Hello按钮占据整个framec) Bye按钮占据整个frame31、Java程序是否可以在除了Windows的其他平台上运行:A)不可以 B)可以32、对于一个Java源文件,import, class定义以及package正确的顺序是:A)package, import, class B)class, import, packageC)import, package, class D) package, class, import33、那个方法可以不能被String型对象调用:Which methods can be legally applied to a string object?A)equals(String) B)toString() C)trim() D)round()34、main方法中的参数正确的定义是:A)String[] args [] B)String [] argsC)float args [] D)String args35、在命令行执行:java Example 12 3e you 45.6那么main方法的参数args数组的第一个元素args[0]的内容是:A)java B)Example C)12 D)3e36、下面那个不是Java的关键字:A)goto B)malloc C)extends D)while37、编译下面的代码,结果是:public class Test {public static void main (String args []) {int age;age = age + 1;System.out.println("The age is " + age);}}A)编译运行都没有结果输出 B)编译运行后输出 The age is 1C)编译通过,但运行时会出错 D)编译不通过38、下面合法的char型值是:A)‘a’ B)"a" C)new Character(a) D)\000a39、能够给一个byte型变量赋值的范围是:What is the legal range of a byte integral type?A)0 - 65, 535 B)(–128) – 127 C)(–32,768) – 32,767 D)(–256) – 25540、下面哪个是非法的:Which of the following is illegal:A)int i = 32; B)float f = 45.0; C)double d = 45.0; D)char c = ‘u’41、编译下面的代码,其结果是:public class Test {static int age;public static void main (String args []) {age = age + 1;System.out.println("The age is " + age);}}A)编译运行都没有结果输出 B)编译运行后输出 The age is 1C)编译通过,但运行时会出错 D)编译不通过42、下面正确的是:Which of the following are correct?A)128 >> 1 为 64 B)128 << 1为64 C)128 >> 1为–64 D)128 << 1为–6443、下面返回true的是:A)"john" != "john" B)"john". equals("john") C)"john" = "john" D)"john".equals(new Button("john")) 44、下面哪条语句不会导致运行时错误:A)"john" + " was " + " here" B)"john" + 3 C)3 + 5 D)5 + 5.5 E)以上四个都不会导致运行时错误45、下面哪个是位运算符:A)>= B)|| C)&& D)|46、下面那个是可以被接受的:A)Object o = new Button("A"); B)Boolean flag = true; C)Panel p = new Frame();D)Frame f = new Panel();47、编译运行下面代码,其结果是:public class Test {static int total = 10;public static void main (String args []) { new Test();}public Test () {System.out.println("In test");System.out.println(this);int temp = this.total;if (temp > 5) {System.out.println(temp);}}}A)此类不会被编译B)编译出错在第2行C)编译出错在第9行D)编译通过,运行后输出:1048、下面正确的是:A)String temp [] = new String {"j" "a" "z"};B)String temp [] = { "j " " b" "c"};C)String temp = {"a", "b", "c"};D)String temp [] = {"a", "b", "c"};49、下面定义了一个抽象方法add,正确的是:What is the correct declaration of an abstract method that is intended to be public:A)public abstract void add(); B)public abstract void add() {} C)public abstract add(); D)public virtual add();50、在什么情况下,你会获得一个缺省的构造方法:A)当你定义任何类的时候 B)当类没有其他构造方法的时候C)当你至少定义了一个构造方法的时候51、阅读下面的代码:public class Test {…}那个是这个类的合法构造方法:A)public void Test() {…} B)public Test() {…}C)public static Test() {…} D)public static void Test() {…}52、Java编译器不能接受的是:A)if (2 == 3) System.out.println("Hi");B)if (2 = 3) System.out.println("Hi");C)if (true) System.out.println("Hi");D)if (2 != 3) System.out.println("Hi");53、若一个方法包含了一段可能引起异常的代码,那么此方法想要调用他的方法去处理这个潜在的异常的正确方法是:A)throw Exception B)throws Exception C)new ExceptionD)Don't need to specify anything54、若给参数a传递4,给b传递0,那么下面程序的结果是:public void divide(int a, int b) {try {int c = a / b;} catch (Exception e) {System.out.print("Exception ");} finally {System.out.println("Finally");}A)Prints out: Exception Finally B)Prints out: Finally C)Prints out: Exception D)No output55、编写一个方法重载题目给出的方法add,那么他的返回类型可以是:public void add(int a) {…}A)void B)int C)可以是任何类型 D)String56、合法的Java标示符有:A. IdoLikeTheLongNameClassB. $byteC. const //保留字D. _okE. 3_case57下面这段代码中定义的类在不同的文件中:class Vehicle {public void drive() {System.out.println("Vehicle: drive");}}class Car extends Vehicle {public void drive() {System.out.println("Car: drive");}}public class Test {public static void main (String args []) {Vehicle v;Car c;v = new Vehicle();c = new Car();v.drive();c.drive();JAVA程序设计v = c;v.drive();}}编译运行的结果是:A)Generates a Compiler error on the statement v= c;B)Generates runtime error on the statement v= c;C)输出:Vehicle: driveCar: driveCar: driveD)输出Prints out:· Vehicle: driveCar: driveVehicle: drive58、考虑下面的这个类:1. public class Test {2. void test(int i) {3. System.out.println("I am an int.");4. }5. void test(String s) {6. System.out.println("I am a string.");7. }8.9. public static void main(String args[]) {10. Test t=new Test();11. char ch=’y’;12. t.test(ch);13. }14. } 哪一个说明是正确的:A. 第5行编译出错,因为方法test不能被重载B. 第12行编译出错,因为方法test的参数不是char类型C. 编译运行通过,输出:I am an int.D. 编译运行通过,输出:I am a String. 点评:在第12行,16位长的char型变量ch在编译时会自动转化为一个32位长的int型,并在运行时传给void test(int i)方法。

Java程序设计_大作业

Java程序设计_大作业

Java程序设计_大作业专业:计算机科学与技术专业学号:1245713131姓名:2014年12月10日目录作业内容: (2)1.IPublisherDao接口: (3)2.IPublisherDao类: (4)3.Publisher类: (13)4.DataBaseConnection类: (15)5.TestFrame类: (18)6.RunApplication类: (29)具体运行结果: (29)总结: (33)大作业:Java 数据库程序设计作业内容:图书馆要进行出版商的统计,如下图所示。

要求创建一个具有交互功能的用户接口的出版商信息应用程序,列表的信息从数据库查询,动态添加。

该应用程序应该使管理人员能够从出版商表中添加、更新信息。

要求使用PreparedStatement对象创建SQL语句。

1.IPublisherDao接口:package com.zy.dao;import java.util.List;import com.zy.entity.Publisher;public interface IPublisherDao {public boolean doCreate(Publisher publisher) throws Exception;public boolean doUpdate(Publisher publisher) throws Exception;public boolean doDelete(String id) throws Exception;public Publisher findById(String id) throws Exception;public List<Publisher> findAll(String keyword) throws Exception;public List<Publisher> all() throws Exception;}2.IPublisherDao类:package com.zy.dao;import java.sql.Connection;import java.sql.ResultSet;import java.sql.PreparedStatement;import java.util.ArrayList;import java.util.List;import com.zy.entity.Publisher;import com.zy.jdbc.DataBaseConnection;public class IPublisherDaoImpl implements IPublisherDao{ private DataBaseConnection jdbc=null;private Connection con=null;public IPublisherDaoImpl(){this.jdbc=new DataBaseConnection();this.con=this.jdbc.getConnection();}@Overridepublic boolean doCreate(Publisher publisher) throws Exception {boolean flag=false;PreparedStatement pstmt=null;ResultSet rs=null;String sql="INSERT INTOPublisher(Publisher_ID,Publisher_Name,Phone_Number,Address, City,State,Zip) VALUES(?,?,?,?,?,?,?)";try{pstmt= this.con.prepareStatement(sql);pstmt.setString(1,publisher.getPublisherId() );pstmt.setString(2, publisher.getPublisherName());pstmt.setString(3,publisher.getPhoneNum());pstmt.setString(4,publisher.getAddress());pstmt.setString(5,publisher.getCity());pstmt.setString(6,publisher.getState());pstmt.setString(7,publisher.getZip());if(pstmt.executeUpdate()>0){flag=true;}}catch(Exception e){throw e;}finally{this.jdbc.closeAll(con, pstmt, rs);}return flag;}@Overridepublic boolean doUpdate(Publisher publisher) throws Exception {boolean flag=false;PreparedStatement pstmt=null;ResultSet rs=null;String sql="UPDATE Publisher SETPublisher_Name=?,Phone_Number=?,Address=?,City=?,State=?,Zi p=? WHERE Publisher_ID=?";try{pstmt= this.con.prepareStatement(sql);pstmt.setString(1, publisher.getPublisherName());pstmt.setString(2,publisher.getPhoneNum());pstmt.setString(3,publisher.getAddress());pstmt.setString(4,publisher.getCity());pstmt.setString(5,publisher.getState());pstmt.setString(6,publisher.getZip());pstmt.setString(7,publisher.getPublisherId());System.out.println("更新成功");if(pstmt.executeUpdate()>0){flag=true;}}catch(Exception e){throw e;}finally{this.jdbc.closeAll(con, pstmt, rs);}return flag;}@Overridepublic boolean doDelete(String id) throws Exception { boolean flag=false;PreparedStatement pstmt=null;ResultSet rs=null;String sql="DELETE FROM Publisher WHERE Publish_ID=?";try{pstmt= this.con.prepareStatement(sql);pstmt.setString(1, id);if(pstmt.executeUpdate()>0){flag=true;}}catch(Exception e){throw e;}finally{this.jdbc.closeAll(con, pstmt, rs);}return flag;}@Overridepublic Publisher findById(String id) throws Exception { Publisher publisher=null;PreparedStatement pstmt=null;ResultSet rs=null;String sql="SELECTPublisher_ID,Publisher_Name,Phone_Number,Address,City,State ,Zip FROM publisher WHERE Publisher_ID like ?";System.out.println(id);try{pstmt= this.con.prepareStatement(sql);System.out.println("*************");//pstmt.setString(1,id);pstmt.setString(1,id);rs=pstmt.executeQuery();if(rs.next()){System.out.println("按照ID查询成功");publisher =new Publisher();publisher.setPublisherId(rs.getString(1));publisher.setPublisherName(rs.getString(2));publisher.setPhoneNum(rs.getString(3));publisher.setAddress(rs.getString(4));publisher.setCity(rs.getString(5));publisher.setState(rs.getString(6));publisher.setZip(rs.getString(7));}}catch(Exception e){throw e;}finally{this.jdbc.closeAll(con, pstmt, rs);}return publisher;}@Overridepublic List<Publisher> findAll(String keyword) throws Exception {List<Publisher> all=new ArrayList<Publisher>();PreparedStatement pstmt=null;ResultSet rs=null;String sql="SELECTPublisher_ID,Publisher_Name,Phone_Number,Address,City,State ,Zip FROM publisher WHERE Publisher_ID like ? OR Publisher_Name like ? OR Phone_Number like ? OR Address like ? OR City like ? OR State like ? OR Zip like ?";try{pstmt= this.con.prepareStatement(sql);pstmt.setString(1,"%"+keyword+"%");pstmt.setString(2,"%"+keyword+"%");pstmt.setString(3,"%"+keyword+"%");pstmt.setString(4,"%"+keyword+"%");pstmt.setString(5,"%"+keyword+"%");pstmt.setString(6,"%"+keyword+"%");pstmt.setString(7,"%"+keyword+"%");rs=pstmt.executeQuery();while(rs.next()){Publisher publisher =new Publisher();publisher.setPublisherId(rs.getString(1));publisher.setPublisherName(rs.getString(2));publisher.setPhoneNum(rs.getString(3));publisher.setAddress(rs.getString(4));publisher.setCity(rs.getString(5));publisher.setState(rs.getString(6));publisher.setZip(rs.getString(7));all.add(publisher);}}catch(Exception e){throw e;}finally{this.jdbc.closeAll(con, pstmt, rs);}return all;}@Overridepublic List<Publisher> all() throws Exception { List<Publisher> all=new ArrayList<Publisher>();PreparedStatement pstmt=null;ResultSet rs=null;String sql="SELECTPublisher_ID,Publisher_Name,Phone_Number,Address,City,State ,Zip From publisher";try{pstmt= this.con.prepareStatement(sql);rs=pstmt.executeQuery();while(rs.next()){Publisher publisher =new Publisher();publisher.setPublisherId(rs.getString(1));publisher.setPublisherName(rs.getString(2));publisher.setPhoneNum(rs.getString(3));publisher.setAddress(rs.getString(4));publisher.setCity(rs.getString(5));publisher.setState(rs.getString(6));publisher.setZip(rs.getString(7));all.add(publisher);}}catch(Exception e){throw e;}finally{this.jdbc.closeAll(con, pstmt, rs);}return all;}}3.Publisher类:package com.zy.entity;public class Publisher {private String publisherId;private String publisherName;private String phoneNum;private String address;private String city;private String state;private String zip;public String getPublisherId() {return publisherId;}public void setPublisherId(String publisherId) { this.publisherId = publisherId;}public String getPublisherName() {return publisherName;}public void setPublisherName(String publisherName) { this.publisherName = publisherName;}public String getPhoneNum() {return phoneNum;}public void setPhoneNum(String phoneNum) { this.phoneNum = phoneNum;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public String getCity() {return city;}public void setCity(String city) {this.city = city;}public String getState() {return state;}public void setState(String state) { this.state = state;}public String getZip() {return zip;}public void setZip(String zip) { this.zip = zip;}}4.DataBaseConnection类:package com.zy.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;import java.util.ResourceBundle;public class DataBaseConnection { private Connection con;// 获取连接的方法public DataBaseConnection() {// 读取数据库配置文件ResourceBundle bundle =ResourceBundle.getBundle("ConnDB");String myDriver = bundle.getString("driver");String url = bundle.getString("url");String username = bundle.getString("username");String pwd = bundle.getString("pwd");try {// 加载驱动Class.forName(myDriver);// 获取链接con = DriverManager.getConnection(url, username, pwd);System.out.println("成功!");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blockSystem.out.println("失败1");e.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blockSystem.out.println("失败2");e.printStackTrace();}}public Connection getConnection() {return this.con;}/*** 关闭连接** @param con* 连接* @param pstmt* 处理器* @param rs* 结果集*/public void closeAll(Connection con, Statement pstmt, java.sql.ResultSet rs) {try {if (rs != null) {rs.close();rs = null;}if (pstmt != null) {pstmt.close();pstmt = null;}if (con != null) {con.close();con = null;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}5.TestFrame类:package com.zy.ui;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.util.Vector;import javax.swing.BorderFactory;import javax.swing.Box;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import com.zy.dao.IPublisherDaoImpl;import com.zy.entity.Publisher;public class TestFrame extends JFrame implements ActionListener, ItemListener {private JButton insertJButton, updateJButton, clearJButton, exitJButton;private JTextField idJTextField, nameJTextField, phonenumJTextField,addressJTextField, cityJTextField, stateJTextField, zipJTextField;private JComboBox<String> jBox;private JLabel title;private JPanel jPanel, jPanel2, jPanel3, jPanel4, jPanel5; private IPublisherDaoImpl IP;private Publisher publisher = null;private Vector<Publisher> vector2 = null;private Vector<String> vector = null;Box boxV1, boxV2;@SuppressWarnings("static-access")public TestFrame() {publisher = new Publisher();IP = new IPublisherDaoImpl();try {vector2 = new Vector<Publisher>(IP.all());} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}vector = new Vector<String>();int k = 0;while (k < vector2.size()) {vector.add(vector2.get(k).getPublisherId());k++;}idJTextField = new JTextField(16); nameJTextField = new JTextField(16); phonenumJTextField = new JTextField(16); addressJTextField = new JTextField(16); cityJTextField = new JTextField(16); stateJTextField = new JTextField(16); zipJTextField = new JTextField(16);boxV1 = Box.createVerticalBox();boxV1.add(new JLabel("Publisher ID:")); boxV1.add(Box.createVerticalStrut(10)); boxV1.add(new JLabel("Publishers Name:")); boxV1.add(Box.createVerticalStrut(10)); boxV1.add(Box.createVerticalStrut(5)); boxV1.add(new JLabel("Phone Number:")); boxV1.add(Box.createVerticalStrut(10)); boxV1.add(Box.createVerticalStrut(10)); boxV1.add(new JLabel("Address:"));boxV1.add(Box.createVerticalStrut(10)); boxV1.add(Box.createVerticalStrut(5)); boxV1.add(new JLabel("City:"));boxV1.add(Box.createVerticalStrut(10)); boxV1.add(Box.createVerticalStrut(5)); boxV1.add(new JLabel("State:"));boxV1.add(Box.createVerticalStrut(10)); boxV1.add(new JLabel("Zip:"));boxV1.add(Box.createVerticalStrut(10)); boxV2 = Box.createVerticalBox();boxV2.add(idJTextField);boxV2.add(boxV1.createVerticalStrut(10)); boxV2.add(nameJTextField);boxV2.add(boxV1.createVerticalStrut(10)); boxV2.add(phonenumJTextField);boxV2.add(boxV1.createVerticalStrut(10)); boxV2.add(addressJTextField);boxV2.add(boxV1.createVerticalStrut(10)); boxV2.add(cityJTextField);boxV2.add(boxV1.createVerticalStrut(10)); boxV2.add(stateJTextField);boxV2.add(boxV1.createVerticalStrut(10)); boxV2.add(zipJTextField);boxV2.add(boxV1.createVerticalStrut(10));jPanel = new JPanel();jPanel2 = new JPanel();jPanel3 = new JPanel();jPanel4 = new JPanel();jPanel5 = new JPanel();insertJButton = new JButton("insert");updateJButton = new JButton("update");clearJButton = new JButton("clear");exitJButton = new JButton("exit");insertJButton.addActionListener(this);updateJButton.addActionListener(this);clearJButton.addActionListener(this);exitJButton.addActionListener(this);title = new JLabel("PUBLISHERS INFORMATION");/* 布局修改 */// title.setBounds(130,60,200,40);jBox = new JComboBox(vector);this.jBox.setBorder(BorderFactory.createTitledBorder("请选择出版商编号"));this.jBox.setSize(300, 100);this.jBox.addItemListener(this);jPanel.add(boxV1);jPanel2.add(jBox);jBox.setBounds(200, 0, 100, 50);jPanel3.add(boxV2);jPanel4.add(title);jPanel5.add(insertJButton);jPanel5.add(updateJButton);jPanel5.add(clearJButton);jPanel5.add(exitJButton);setLayout(new BorderLayout());this.add(jPanel, BorderLayout.WEST);this.add(jPanel2, BorderLayout.CENTER);this.add(jPanel3, BorderLayout.EAST);this.add(jPanel4, BorderLayout.NORTH);this.add(jPanel5, BorderLayout.SOUTH);setVisible(true);this.pack();setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}@Overridepublic void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stubIP = new IPublisherDaoImpl();if (arg0.getSource() == insertJButton) {publisher.setPublisherId(idJTextField.getText()); publisher.setPublisherName(nameJTextField.getText());publisher.setPhoneNum(phonenumJTextField.getText());publisher.setAddress(addressJTextField.getText());publisher.setCity(cityJTextField.getText());publisher.setState(stateJTextField.getText());publisher.setZip(zipJTextField.getText());jBox.addItem(publisher.getPublisherId());try {IP.doCreate(publisher);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();System.out.println("插入失败");}}if (arg0.getSource() == updateJButton) {IP = new IPublisherDaoImpl();publisher.setPublisherId(idJTextField.getText());publisher.setPublisherName(nameJTextField.getText());publisher.setPhoneNum(phonenumJTextField.getText());publisher.setAddress(addressJTextField.getText());publisher.setCity(cityJTextField.getText());publisher.setState(stateJTextField.getText());publisher.setZip(zipJTextField.getText());try {IP.doUpdate(publisher);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();System.out.println("更新失败");}}if (arg0.getSource() == clearJButton) {IP = new IPublisherDaoImpl();idJTextField.setText("");nameJTextField.setText("");phonenumJTextField.setText("");addressJTextField.setText("");cityJTextField.setText("");stateJTextField.setText("");zipJTextField.setText("");}if (arg0.getSource() == exitJButton) {setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);System.exit(0);}}@Overridepublic void itemStateChanged(ItemEvent arg0) { // TODO Auto-generated method stubIP = new IPublisherDaoImpl();if (arg0.getStateChange() == ItemEvent.SELECTED) { // 判断是否是选中try {// int k = jBox.getSelectedIndex();// String selected = vector.get(k);// System.out.println(selected);// 用于检查publisher =IP.findById(jBox.getSelectedItem().toString());System.out.println(publisher.getPhoneNum());} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}idJTextField.setText(publisher.getPublisherId());nameJTextField.setText(publisher.getPublisherName());phonenumJTextField.setText(publisher.getPhoneNum());addressJTextField.setText(publisher.getAddress());cityJTextField.setText(publisher.getCity());stateJTextField.setText(publisher.getState());zipJTextField.setText(publisher.getZip());}}}6.RunApplication类:package com.zy.runapp;import com.zy.ui.TestFrame;public class RunApplication {public static void main(String[] args) {new TestFrame();}}具体运行结果:MySQL数据库中初始数据:运行初始状态:执行插入操作:插入完成后查看数据库:执行update操作:Update编号为20002的内容:下图为初始状态:执行update操作:对Phone Number,Address,City,State,Zip进行更新操作更新完成后查看数据库:可看到编号为20002的出版社数据更新了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java程序设计大作业
提交作业内容:
1. UML的静态结构图
2. 程序主要流程图
3. 程序代码
4. 程序说明文档
5. 实验总结:总结本次程序调试过程中遇到了哪些问题,如何解决的;通过本次大作业有何收获?存在哪些不足需要改进的地方。

1.计算器模拟程序
功能要求:Windows2000/xp系统中的“计算器”是一个方便实用的计算工具,但没有提供显示计算过程和保持计算过程的功能。

本题所遵循的计算规则与Windows2000/xp系统中的“计算器”相同,除了具有普通的计算功能外,还具有显示计算过程、保存计算过程之功能。

要求保存计算过程和结果到文件的同时,也可把当前时间保存到该文件。

可参考下图。

2. 标准化考试系统
功能要求:设计B/S模式的标准化考试系统。

具体要求如下:
(1)登录功能。

包括输入学号、姓名以及服务器的IP地址。

(2)选择试卷功能
(3)答卷和提交试卷功能
(4)可以查询分数。

相关文档
最新文档