急求一份Java课程设计,结课大作业,最近有考试,时间不够,来不及做了。谢谢啦!邮箱573762475@qq.com

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急求一份Java课程设计,结课大作业,最近有考试,时间不够,来不及做了。谢谢啦!邮箱573762475@qq.com相关的知识,希望对你有一定的参考价值。

Java课程设计报告
题 目: 计算器
院(系):xxx学院
年级专业: xxx班
学生姓名: xxx
指导老师: xx老师
开始时间: 200x-xx-xx
完成时间: 200x-xx-xx
目 录
1. 摘 要
2. 概要设计
3. 详细设计
4. 测试分析
5. 参考文献
一、摘 要
本计算器可以进行简单的四则运算(加、减、乘、除)但仅限于十进制下,还可以进行(八进制,十进制,十六进制)之间的相互转换,八进制最多可以输入19位数,十进制最多可以输入18位数,十六进制最多可以输入14位数,backspace表示退格, clear表示初始化,在window下直接运行(Jsp2003.bat)即可,界面为灰白对称。
二、概要设计
(1) 自定义类说明
**********************************************************
* 类名: This_number_too_big *
* 作用: 自定义的异常类,用来处理计算结果溢出 *
* 继承的父类: Exception类 *
* 实现的接口: 没有 *
**********************************************************
class This_number_too_big extends Exception

//自定义的一个结果溢出异常类
**********************************************************
* 类名: Jsp2003 *
* 作用: 主类。 *
* 继承的父类: Frame类 *
* 实现的接口: ItemListener类,ActionListener类 *
**********************************************************
class Jsp2003 extends Frame implements ItemListener,ActionListener

public int number=0,length=18;
//number是用来记录输入的数字个数,
//length是用来设置在不同进制下允许输入的最多数字位数,默认为十进制 public char mark='n';
//设置运算符号为没有即为‘n’,它的值是‘+’‘-’‘*’‘/’
public double data=0;
//设置运算数据为零
public char ch;
//用来临时存放所按按钮的第一个字符
public boolean Refresh=false;
//设置lab是否要在输入数据的时候刷新,初始为否
主要方法说明:
------------------------------------------------------------------------------------------------
//用来处理按了运算符后的计算-
public void js() throws This_number_too_big //指定由method抛出异常
if (mark=='n') //没有运算符
mark=ch; //,则设置运算符为刚刚输入的字符,
data=Double.parseDouble(lab.getText());//则设置运算数据为lab的值
Refresh=true;//则设置下一次输入的时候要刷新lab

else //如果采用的是连续运算(即没有使用‘=’号)则运行下面的语句
switch (mark) //根据运算符计算结果,并把结果保存到data
case '+': data+=Double.parseDouble(lab.getText()); break;
case '-': data-=Double.parseDouble(lab.getText()); break;
case '*': data*=Double.parseDouble(lab.getText()); break;
case '/': data/=Double.parseDouble(lab.getText()); break;
lab.setText(Double.toString(data)); //显示运算结果
mark=ch;//设置运算符为刚刚按下的运算符
Refresh=true;//则设置下一次输入的时候要刷新lab
number=lab.getText().length();//设置输入的字符个数
// System.out.println(lab.getText());//用来调试用的
if (data>Double.MAX_VALUE)
//如果data超过double类型的最大值则抛出自定义的一个异常类


//end js() method
----------------------------------------------------------------------------------------------------
public void enter()//处理输入字符
if(Refresh==true)
//如果已经设置了 运算符则在下一次输入数据的时候要把以前lab的内容清除掉

if(lab.getText().charAt(0)=='0'&& lab.getText().length()==1)
//如果lab的内容为0则,lab的内容将被所输入的字符代替,
//否则直接在lab的内容后面加上所输入的字符

else
if(number<length)

//end enter() method
--------------------------------------------------------------------------------------------------------
//八进制或十六进制转换成十进制I
public String goto_10(String s,long l)
//参数s: 是要转换的字符串,由于输入的控制,保证了字符串的合法性;
//参数l: 使用来设置是将8进制还是16进制转换成10进制,它的有效值为8或16;
String str=s; //用来转换的字符串
long j=l; //表示进制
long lg=0,jing=1;//lg用来记录权乘和,jing用来记录位权
char cha;//临时记录要转换的字符
for(int i=1;i<=str.length();i++)
cha=str.charAt(str.length()-i);
switch(cha)
case '1': lg=lg+1*jing;break;
case '2': lg=lg+2*jing;break;
case '3': lg=lg+3*jing;break;
case '4': lg=lg+4*jing;break;
case '5': lg=lg+5*jing;break;
case '6': lg=lg+6*jing;break;
case '7': lg=lg+7*jing;break;
case '8': lg=lg+8*jing;break;
case '9': lg=lg+9*jing;break;
case 'A': lg=lg+10*jing;break;
case 'B': lg=lg+11*jing;break;
case 'C': lg=lg+12*jing;break;
case 'D': lg=lg+13*jing;break;
case 'E': lg=lg+14*jing;break;
case 'F': lg=lg+15*jing;break;
jing*=j; //位权升一级,为下次使用做好准备

return Long.toString(lg);
//end String goto_10() method

(2)程序流程图

三、详细设计
import java.awt.*;
import java.awt.event.*;
class This_number_too_big extends Exception
//自定义的一个结果溢出异常类
class Jsp2003 extends Frame implements ItemListener,ActionListener
public Jsp2003()
addWindowListener(new WindowAdapter()
public void windowClosing(WindowEvent e)
dispose();
System.exit(0);

);

static Jsp2003 mainFrame = new Jsp2003();
static Label lab=new Label("0");
static Panel pnl1=new Panel(new GridLayout(4,3,3,3));
static Panel pnl2=new Panel(new GridLayout(4,1,3,3));
static Panel pnl3=new Panel(new GridLayout(1,2,3,3));
static Panel pnl4=new Panel(new GridLayout(6,1,3,3));
static Button bt9=new Button("9");
static Button bt8=new Button("8");
static Button bt7=new Button("7");
static Button bt6=new Button("6");
static Button bt5=new Button("5");
static Button bt4=new Button("4");
static Button bt3=new Button("3");
static Button bt2=new Button("2");
static Button bt1=new Button("1");
static Button bt0=new Button("0");
static Button btdot=new Button(".");
static Button btequ=new Button("=");
static Button btadd=new Button("+");
static Button btsub=new Button("-");
static Button btmul=new Button("*");
static Button btdev=new Button("/");
static Button btA=new Button("A");
static Button btB=new Button("B");
static Button btC=new Button("C");
static Button btD=new Button("D");
static Button btE=new Button("E");
static Button btF=new Button("F");
static Checkbox ckb8=new Checkbox("八进制");
static Checkbox ckb10=new Checkbox("十进制");
static Checkbox ckb16=new Checkbox("十六进制");
static Button btc=new Button("clear");
static Button btt=new Button("backspace");
public int number=0,length=18;
//number是用来记录输入的数字个数,length是用来设置在不同进制下允许输入的最多数字位数,默认为十进制
public char mark='n'; //设置运算符号为没有即为‘n’,它的值是‘+’‘-’‘*’‘/’
public double data=0; //设置运算数据为零
public char ch; //用来临时存放所按按钮的第一个字符
public boolean Refresh=false;//设置lab是否要在输入数据的时候刷新,初始为否
public static void main(String args[])
System.out.println("Starting Jsp2003...");
lab.setAlignment(Label.RIGHT);
lab.setBackground(Color.lightGray);
lab.setForeground(Color.BLUE);
lab.setFont(new Font("Serief",Font.BOLD,18));
lab.setBounds(14,33,216,40);
mainFrame.add(lab);
CheckboxGroup grp=new CheckboxGroup();
ckb8.setCheckboxGroup(grp);
ckb10.setCheckboxGroup(grp);
ckb16.setCheckboxGroup(grp);
ckb8.setBounds(14,75,55,25);
ckb10.setBounds(69,75,55,25);
ckb16.setBounds(124,75,65,25);
ckb8.setState(false);
ckb10.setState(true);
ckb16.setState(false);
mainFrame.add(ckb8);
mainFrame.add(ckb10);
mainFrame.add(ckb16);
pnl1.setBounds(14,140,120,150);
pnl2.setBounds(144,140,40,150);
pnl3.setBounds(14,100,170,36);
pnl4.setBounds(190,100,40,190);
pnl1.add(bt7);
pnl1.add(bt8);
pnl1.add(bt9);
pnl1.add(bt4);
pnl1.add(bt5);
pnl1.add(bt6);
pnl1.add(bt1);
pnl1.add(bt2);
pnl1.add(bt3);
pnl1.add(bt0);
pnl1.add(btdot);
pnl1.add(btequ);
pnl2.add(btadd);
pnl2.add(btsub);
pnl2.add(btmul);
pnl2.add(btdev);
pnl3.add(btt);
pnl3.add(btc);
pnl4.add(btA);
pnl4.add(btB);
pnl4.add(btC);
pnl4.add(btD);
pnl4.add(btE);
pnl4.add(btF);
btA.enable(false);
btB.enable(false);
btC.enable(false);
btD.enable(false);
btE.enable(false);
btF.enable(false);
mainFrame.add(pnl1);
mainFrame.add(pnl2);
mainFrame.add(pnl3);
mainFrame.add(pnl4);
mainFrame.setResizable(false);
mainFrame.setLayout(null);
mainFrame.setSize(240,300 );
mainFrame.setTitle("计算器");
mainFrame.setVisible(true);
ckb8.addItemListener(mainFrame);
ckb10.addItemListener(mainFrame);
ckb16.addItemListener(mainFrame);
//把事件聆听者向各个组键注册
bt1.addActionListener(mainFrame);
bt2.addActionListener(mainFrame);
bt3.addActionListener(mainFrame);
bt4.addActionListener(mainFrame);
bt5.addActionListener(mainFrame);
bt6.addActionListener(mainFrame);
bt7.addActionListener(mainFrame);
bt8.addActionListener(mainFrame);
bt9.addActionListener(mainFrame);
bt0.addActionListener(mainFrame);
btadd.addActionListener(mainFrame);
btsub.addActionListener(mainFrame);
btmul.addActionListener(mainFrame);
btdev.addActionListener(mainFrame);
btt.addActionListener(mainFrame);
btc.addActionListener(mainFrame);
btdot.addActionListener(mainFrame);
btequ.addActionListener(mainFrame);
btA.addActionListener(mainFrame);
btB.addActionListener(mainFrame);
btC.addActionListener(mainFrame);
btD.addActionListener(mainFrame);
btE.addActionListener(mainFrame);
btF.addActionListener(mainFrame);
// end main() mothed
//---------------------------------------------
//checkbox 事件的处理
public void itemStateChanged(ItemEvent e)
mark='n';
Refresh=false;
//规定当进制转换时以前输入的运算符失效
if (ckb8.getState()==true)
btA.enable(false);
btB.enable(false);
btC.enable(false);
btD.enable(false);
btE.enable(false);
btF.enable(false);
bt9.enable(false);
bt8.enable(false);
btdot.enable(false);
btadd.enable(false);
btmul.enable(false);
btsub.enable(false);
btdev.enable(false);
btequ.enable(false);
//在八进制的情况下对有些按件的管理
if(length==18) lab.setText(goto10_8(lab.getText()));
number=lab.getText().length();

if(length==14) lab.setText(goto_10(lab.getText(),16L));
lab.setText(goto10_8(lab.getText()));
number=lab.getText().length();

//将其他进制转换成八进制
length=19;
//在八进制下允许输入数字个数最多为19位

if(ckb10.getState()==true)
btA.enable(false);
btB.enable(false);
btC.enable(false);
btD.enable(false);
btE.enable(false);
btF.enable(false);
bt9.enable(true);
bt8.enable(true);
btdot.enable(true);
btadd.enable(true);
btmul.enable(true);
btsub.enable(true);
btdev.enable(true);
btequ.enable(true);
//在十进制的情况下对有些按件的管理
if(length==19) lab.setText(goto_10(lab.getText(),8L));
number=lab.getText().length();
if(length==14) lab.setText(goto_10(lab.getText(),16L));
number=lab.getText().length();
//进制转换成十进制
length=18;
//在十进制下允许输入数字个数最多为18位

if(ckb16.getState()==true)
btA.enable(true);
btB.enable(true);
btC.enable(true);
btD.enable(true);
btE.enable(true);
btF.enable(true);
bt9.enable(true);
bt8.enable(true);
btdot.enable(false);
btadd.enable(false);
btmul.enable(false);
btsub.enable(false);
btdev.enable(false);
btequ.enable(false);
//在十六进制的情况下对有些按件的管理
if(length==18) lab.setText(goto10_16(lab.getText()));
number=lab.getText().length();
if(length==19) lab.setText(goto_10(lab.getText(),8L));
lab.setText(goto10_16(lab.getText()));
number=lab.getText().length();
//将其他进制转换成十六进制
length=14;
//在十六进制下允许输入数字个数最多为14位

//end itemStateChanged(ItemEvent e) method
//------------------------------------------------------------
//按钮事件的处理
public void actionPerformed(ActionEvent m)

Button btn=(Button) m.getSource();
ch=btn.getLabel().charAt(0);
switch (ch)
break;//初始化
case '1': enter(); break;
case '2': enter(); break;
case '3': enter(); break;
case '4': enter(); break;
case '5': enter(); break;
case '6': enter(); break;
case '7': enter(); break;
case '8': enter(); break;
case '9': enter(); break;
case '0':
if(lab.getText().charAt(0)=='0'&& lab.getText().length()==1)
break;
if(number<length)
else break;
break;
case 'A': enter(); break;
case 'B': enter(); break;
case 'C': enter(); break;
case 'D': enter(); break;
case 'E': enter(); break;
case 'F': enter(); break;
case '.': if(Refresh==true)
if(lab.getText().indexOf('.')== -1)

else
break;

break;
case 'b': if(number==0) break;
else

else
if (number!=1) lab.setText(lab.getText().substring(0,number));
else
lab.setText(Character.toString(lab.getText().charAt(0)));

break;
case '+': try

catch(This_number_too_big e)
lab.setText("0"); number=0; mark='n';
Refresh=false; System.out.println("The number is too big"); break;
//如果出现异常则初始化效果如同clear键
case '-': try

catch(This_number_too_big e)
lab.setText("0"); number=0; mark='n';
Refresh=false; System.out.println("The number is too big"); break;
//如果出现异常则初始化效果如同clear键
case '*': try

catch(This_number_too_big e)
lab.setText("0"); number=0; mark='n';
Refresh=false; System.out.println("The number is too big"); break;
//如果出现异常则初始化效果如同clear键
case '/': try

catch(This_number_too_big e)
lab.setText("0"); number=0; mark='n';
Refresh=false; System.out.println("The number is too big"); break;
//如果出现异常则初始化效果如同clear键
case '=': try

catch(This_number_too_big e)
lab.setText("0"); number=0; mark='n';
Refresh=false; System.out.println("The number is too big"); break;
//如果出现异常则初始化效果如同clear键
参考技术A 可以依靠百度Hi通知我
有时间可以解决你的问题
同样的要求也可以通知我

ES:\\75DB3571563373F47909353D428AA051

数据结构与算法课程设计大作业

 

考   核   要  求

课程编号:   400802010       课程名称:    数据结构与算法课程设计   考试形式:   大作业       

大作业1-9见我的下载 里面包含多个版本的设计 文件有cpp文件设计文档总结等

                                 

一、设计考核说明

学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课设的要求。有问题及时主动与教师沟通。

学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时的向教师汇报。

课程设计按照教学要求需要周时间完成

 

二、具体要求:

1.学生在选题范围中选择设计题目,选题根据学号的尾号定题目,例如尾号为1的选择第一题,以此类推,尾号为0和9的选第九题。

2.学生单独进行相应软件项目的设计、实现工作,独立提交完整文档。

3.提交文档雷同,第2名及以后作不及格处理。

4.要求按照系统设计规范来撰写设计报告。报告包括封面(项目的题目、姓名等)、目录、主体设计部分以及后记。文档每人一份。

5.要求内容完整,结构清晰,最终提交电子文档一份。

 

三、设计题目选题表

1、运动会分数统计问题。

【问题描述】

参加运动会有n个学校,学校编号为1„„n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1„„m,女子m+1„„m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)。

【实现要求】

(1)可以输入各个项目的前三名或前五名的成绩;

(2)能统计各学校总分;

(3)可以按学校编号、学校总分、男女团体总分排序输出;

(4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校;

(5)数据存入文件并能随时查询;

(6)输入数据形式和范围:可以输入学校的名称,运动会项目的名称。

【实现提示】

  1. 输出有中文提示,各学校分数为整形;
  2. 每个功能可以设立菜单,用户根据提示实现相关功能;
  3. 存储结构可采参考图的邻接表,自行设计。
  4. 设计报告中应有数据测试部分说明。

代码:https://download.csdn.net/download/sereasuesue/12530524

2、学生成绩管理系统

【问题描述】

现有学生成绩信息文件1(1.txt),内容如下

姓名    学号   语文  数学   英语    

张明明  01     67    78      82

李成友  02     78    91      88

张辉灿  03     68    82      56

王露    04     56    45      77

陈东明  05     67    38      47

….      ..      ..     ..       …

学生成绩信息文件2(2.txt),内容如下:

姓名    学号   语文  数学   英语    

陈果    31     57    68      82

李华明  32     88    90      68

张明东  33     48    42      56

李明国  34     50    45      87

陈道亮  35     47    58      77

….      ..      ..     ..       …

【实现要求】

试编写一管理系统,要求如下:

(1)实现对两个文件数据进行合并,生成新文件3.txt

(2)抽取出三科成绩中有补考的学生并保存在一个新文件4.txt

(3)对合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实现)

(4)输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)

(5)要求使用结构体,链或数组等实现上述要求.

https://download.csdn.net/download/sereasuesue/12530449

3、药店的药品销售统计系统(排序应用)

【问题描述】

设计一系统,实现医药公司定期对销售各药品的记录进行统计,可按药品的编号、单价、销售量或销售额做出排名。

【实现要求】

在本设计中,首先从数据文件中读出各药品的信息记录,存储在顺序表中。各药品的信息包括:药品编号、药名、药品单价、销出数量、销售额。药品编号共4位,采用字母和数字混合编号,如:A125,前一位为大写字母,后三位为数字,按药品编号进行排序时,可采用基数排序法。对各药品的单价、销售量或销售额进行排序时,可采用多种排序方法,如直接插入排序、冒泡排序、快速排序,直接选择排序等方法。在本设计中,对单价的排序采用冒泡排序法,对销售量的排序采用快速排序法,对销售额的排序采用堆排序法。

【实现提示】

药品信息的元素类型定义:

typedef struct node

char num[4];  /*药品编号*/

  char name[10]; /*药品名称*/

  float price;  /*药品单价*/

  int count;    /*销售数量*/

  float sale;  /*本药品销售额*/

 DataType;

 

存储药品信息的顺序表的定义:

typedef struct

DataType r[MaxSize];  

  int length;

SequenList;

https://download.csdn.net/download/sereasuesue/12530528

4、哈夫曼编/译码器问题:

【问题描述】

利用哈夫曼编码进行信息通讯可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码;在接收端将传来的数据进行译码(复原)。

【实现要求】

系统应具有以下功能:

(1)初始化(Initialization)。从终端读入字符集大小n,及n个字符和m个权值,建立哈夫曼树,并将它存于文件hfmtree中。  

(2)编码(Coding)。利用已建好的哈夫曼树(如不在内存,则从文件hfmtree中读入)对文件tobetrans中的正文进行编码,然后将结果存入文件codefile中。   

(3)译码(Decoding)。利用已建好的哈夫曼树将文件codefile中的代码进行译码,结果存入文件textfile中。

(4)用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THIS PROGRAM IS MY FAVORITE”。

字符

A

B

C

D

E

F

G

H

I

J

K

L

M

频度

64

13

22

32

103

21

15

47

57

1

5

32

20

字符

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

频度

57

63

5

1

48

51

80

23

8

18

1

16

1

【实现提示】

可以根据题目要求把程序划成3个模块,设计成菜单方式,每次执行一个模块后返回菜单。除了初始化过程外,在每次执行时都经过一次读取磁盘文件数据。这是为了如果在程序执行后一直没有进行初始化(1)过程,为了能使后面的操作顺利进行,可以通过读取旧的数据来进行工作。比如:如果程序的工作需要的字符集和权值数据是固定的,只要在安装程序时进行一次初始(1)化操作就可以了。再在次运行程序时,不管进行哪项操作都可以把需要的数据读入到内存。

代码:https://download.csdn.net/download/sereasuesue/12530536

 

5、校园导游程序

【问题描述】

用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。

【设计要求】

设计要求如下:

(1)设计出你设定学校的校园景点平面图;

(2)查询各景点的相关信息;  

(3)查询图中任意两个景点间的最短路径。

(4)增加、删除、更新有关景点和道路的信息。

https://download.csdn.net/download/sereasuesue/12530539

6、模拟计算器.算术表达式的求解

【问题描述】

给定一个算术表达式,通过程序求出最后的结果。

【实现要求】

(1)数值:包括整数和实数,数值可带正、负号。

(2)运算符:正号、负号、加、减、乘、除、求模和乘方,其中可以包含括号。

【实现提示】

(1)从键盘输入要求解的算术表达式;

(2)采用栈结构进行算术表达式的求解过程;

(3)能够判断算术表达式正确与否;

(4)对于错误表达式给出提示;

(5)对于正确的表达式给出最后的结果;

https://download.csdn.net/download/sereasuesue/12530546

7、文章编辑

【问题描述】

功能:输入一页文字,程序可以统计出文字、数字、空格的个数。

静态存储一页文章,每行最多不超过80个字符,

【设计要求】

(1)分别统计出其中英文字母数和空格数及整篇文章总字数;

(2)统计某一字符串在文章中出现的次数,并输出该次数;

(3)删除某一子串,并将后面的字符前移。

【实现提示】

存储结构使用线性表,分别用几个子函数实现相应的功能;

输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。

输出形式:

(1)分行输出用户输入的各行字符;

(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"

(3)输出删除某一字符串后的文章;

https://download.csdn.net/download/sereasuesue/12530553

8、停车场管理

【问题描述】  

设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。

【实现要求】 

要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。

【实现提示】

汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。例如,(‘A’,1,5)表示1号牌照车在5这个时刻到达,而(‘D’,5,20)表示5号牌照车在20这个时刻离去。整个程序可以在输入信息为(‘E’,0,0)时结束。本题可用栈和队列来实现。设计并实现一个交通咨询系统。

https://download.csdn.net/download/sereasuesue/12530556

9、散列表的设计与实现

【问题描述】

设计散列表实现电话号码查找系统。

【基本要求】

(1)设每个记录有下列数据项:电话号码、用户名、地址;

(2)从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;

(3)采用一定的方法解决冲突;

(4)查找并显示给定电话号码的记录;

(5)查找并显示给定用户名的记录。

【进一步完成内容】

(1)系统功能的完善;

(2)设计不同的散列函数,比较冲突率;

(3)在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。

https://download.csdn.net/download/sereasuesue/12530558

附:上交相关内容要求

上交的成果的内容必须由以下四个部分组成,缺一不可

1. 上交源程序:学生按照课程设计的具体要求所开发的所有源程序(应该放到一个文件夹中);

2. 上交程序的说明文件:(保存在.txt中)在说明文档中应该写明上交程序所在的目录,上交程序的主程序文件名,如果需要安装,要有程序的安装使用说明;

3. 课程设计报告:(保存word 97-2003格式文档,文件名要求按照"学号-姓名-课程设计报告",文件扩展名为“.doc”,如文件名为1111111112-XX-课程设计报告.doc )按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;

其中包括:

(1)需求分析:

在该部分中叙述,每个模块的功能要求

(2)概要设计

在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义。

(3)详细设计

各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)

源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。

(4)调试分析

测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。

4. 课设总结:

存为word 97-2003格式。总结可以包括 : 课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对本门课程的认识等内容

以上是关于急求一份Java课程设计,结课大作业,最近有考试,时间不够,来不及做了。谢谢啦!邮箱573762475@qq.com的主要内容,如果未能解决你的问题,请参考以下文章

高校大数据实训室解决方案有么?急求

求一份C语言程序设计的期末考试试题!!!谢谢了

戴口罩的人脸识别

急求一份VHDL,verilog的英文文献,最好带有中文翻译,在线等,谢谢

JAVA课程结课实验代码(河北省重大技术需求征集系统设计)

求一份计算机本科的毕业设计,题目只要计算机类的就可以