java数据结构 大二水平 课程设计 源代码(非数据库)
- 格式:doc
- 大小:99.00 KB
- 文档页数:16
表达式求值源代码(数据结构课程设计)表达式求值源代码(数据结构课程设计) 数据结构课程设计源代码:表达式求值0900340131 张宁2011.6.26 #include #include /*函数功能:将数字字符串转变成相应的数*/ /*函数参数:char类型数组f,指向int类型变量的指针i*/ /*函数返回值:int类型。
返回数字字符串对应的数*/ int readnumber(char f[],int *i) { int x=0; while(f[*i]>= 0 } opst[top]=e[i]; top++; /*当前元素进栈*/ } i++; /*处理下一个元素*/ } while(top) /*栈中还有的全部运算符赋值到数组f中,包括# */ { f[j++]=opst[--top]; } } main() { int i=0,result,flog=0,flog2=0; char a[100],b[100],x,w; /*数组a用来保存中缀表达式,数组b用来表达后缀表达式,*/printf(“~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~\n“); printf(“ 0代表退出系统\n“); printf(“ 1代表输入算术表达式\n“); printf(“ 2代表判断输入的算术表达式的正确性\n“); printf(“ 3代表查看算术表达式的中缀表达式\n“); printf(“ 4代表查看算术表达式的后缀表达式\n“); printf(“ 5代表给出输入的算术表达式的最终结果\n“); printf(“ 规定:第一步必须先输入算术表达式,然后才能进行其他的操作\n“);printf(“~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~\n“); printf(“版权所有,盗版必究张宁2010/6/24 \n\n\n“); do { printf(“请输入您要操作所对应的数字:“); fflush(stdin); scanf(“%c“, if(48(以#号结尾!) “); i=0; do { scanf(“%c“, }while(a[i++]!= # ); flog=1;printf(“\n\n\n“); break; } else { printf(“请输入正确的选项!\n“); } }while(w!= n } else { printf(“请输入算术表达式:(以#号结尾!) “); do { scanf(“%c“, }while(a[i++]!= # ); flog=1; printf(“\n\n\n“); } break; case 2 : if(flog==0) { printf(“您还没有输入过表达式!\n请您按照规定先输入后判断!\n\n\n“); } else { flog2=1; if(judge(a)) { printf(“表达式符合要求!\n您可以继续下面的操作!\n“); } else { printf(“表达式不符合要求!\n请重新输入!\n“); break; } } break; case 3 : if(flog==0) { printf(“您还没有输入过表达式!\n请您按照规定先输入后算术表达式的中缀表达式\n\n\n“); break; } else if(flog2==0) { printf(“您还没有判断表达式的正确性!\n请您按照规定先判断表达式的正确性后查看算术表达式的中缀表达式\n\n\n“); break; } else { printf(“中缀表达式为:“); i=0; do { printf(“%c“,a[i]); }while(a[i++]!= # ); /*i++;*/printf(“\n\n\n“); } break; case 4 : if(flog==0) { printf(“您还没有输入过表达式!\n请您按照规定先输入后算术表达式的中缀表达式\n\n\n“); break; } else if(flog2==0) { printf(“您还没有判断表达式的正确性!\n请您按照规定先判断表达式的正确性后查看算术表达式的中缀表达式\n\n\n“); break; } else { postfix(a,b); printf(“后缀表达式为:\n“); i=0; do { printf(“%c“,b[i]); }while(b[i++]!= # ); /*i++;*/ printf(“\n\n\n“); } break; case 5 : fflush(stdin); if(f log==0) { printf(“您还没有输入过表达式!\n请您按照规定先输入表达式\n\n\n“); break; } else if(flog2==0) { printf(“您还没有判断表达式的正确性!\n请您按照规定先判断表达式的正确性后查看算术表达式的中缀表达式\n\n\n“); break; } else { /*postfix(a,b);*/ result=evalpost(b); printf(“运算结果为:“); for(i=0;a[i]!= # ;i++) { printf(“%c“,a[i]); } printf(“=%d\n\n\n“,result); } break; } } else { printf(“没有此项操作,请重新输入!\n\n\n“); } }while(x!= 0 ); printf(“\n您已退出系统!\n欢迎下次使用\n“); }。
学生管理系统JAVA课课程设计一、教学目标本课程的目标是让学生掌握学生管理系统的Java编程知识,能够运用Java语言实现一个简单的学生管理系统。
具体目标如下:1.知识目标:–理解Java语言的基本语法和数据结构。
–掌握Java中的控制结构和面向对象编程思想。
–了解Java中的文件操作和数据库连接。
2.技能目标:–能够使用Java编写简单的程序,实现学生的增删改查功能。
–能够使用Java连接数据库,实现对学生信息的持久化存储。
–能够使用Java的文件操作,读写学生数据。
3.情感态度价值观目标:–培养学生的编程兴趣,提高学生解决问题的能力。
–培养学生团队协作的精神,提高学生的沟通表达能力。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.Java语言基础:包括基本语法、数据类型、变量、运算符等。
2.控制结构:包括条件语句、循环语句等。
3.面向对象编程:包括类、对象、继承、多态等。
4.文件操作:包括文件的读写、文件管理等。
5.数据库连接:包括JDBC的概念、数据库的连接与操作等。
6.学生管理系统的设计与实现:包括系统需求分析、系统设计、功能实现等。
三、教学方法为了达到课程目标,本课程将采用以下几种教学方法:1.讲授法:用于讲解Java语言基础、控制结构、面向对象编程等理论知识。
2.案例分析法:通过分析实际案例,让学生理解并掌握文件操作和数据库连接的方法。
3.实验法:让学生动手编写代码,实现学生管理系统,提高学生的实际操作能力。
4.小组讨论法:分组让学生讨论问题,培养学生的团队协作和沟通能力。
四、教学资源为了支持课程的顺利进行,我们将准备以下教学资源:1.教材:《Java编程思想》等。
2.参考书:《Java核心技术》、《Java Web开发》等。
3.多媒体资料:教学PPT、视频教程等。
4.实验设备:计算机、网络环境、数据库服务器等。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以保证评估的客观性和公正性。
java课程设计范例一、教学目标本节课的教学目标是让学习者掌握Java编程语言的基本语法、流程控制语句以及简单的数据结构。
通过本节课的学习,学生将能够:1.理解Java语言的基本语法,包括数据类型、变量、运算符等。
2.掌握Java的流程控制语句,包括条件语句、循环语句等。
3.熟悉Java的基本数据结构,包括数组、链表、栈和队列等。
4.能够运用Java语言编写简单的程序,实现基本的算法。
二、教学内容本节课的教学内容主要包括以下几个部分:1.Java语言的基本语法:介绍Java语言的数据类型、变量、运算符等基本语法规则。
2.流程控制语句:讲解条件语句、循环语句等流程控制语句的用法和意义。
3.基本数据结构:介绍Java中的数组、链表、栈和队列等基本数据结构及其应用。
4.编程实践:通过编写简单的Java程序,使学生能够将所学知识应用于实际问题的解决中。
三、教学方法为了达到本节课的教学目标,我们将采用以下几种教学方法:1.讲授法:通过讲解Java语言的基本语法、流程控制语句和基本数据结构,使学生能够理解和掌握相关知识。
2.案例分析法:通过分析具体的Java程序案例,使学生能够了解和掌握Java语言的应用方法。
3.实验法:让学生通过编写和运行Java程序,亲自体验和掌握Java语言的语法和编程技巧。
四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《Java编程语言》等与本节课内容相关的教材和参考书。
2.多媒体资料:通过PPT等多媒体形式,生动、形象地展示Java语言的基本语法、流程控制语句和基本数据结构。
3.实验设备:为学生提供必要的计算机和网络环境,让他们能够编写和运行Java程序。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下几种评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估他们的学习态度和理解能力。
2.作业:布置与课程内容相关的作业,评估学生对知识点的掌握程度和编程能力。
数据结构(JAVA)课程设计数据结构(JAVA)课程设计一、项目背景和目的1.1 项目背景这个课程设计是为了让学生在学习数据结构的过程中,能够运用所学的知识,实际完成一个具体的项目。
通过设计和实现一个基于JAVA的数据结构,帮助学生加深对数据结构的理解。
1.2 项目目的通过完成这个项目,学生将能够:- 熟悉和理解数据结构的基本概念和原则- 掌握JAVA编程语言的基本语法和使用方法- 设计和实现一个完整的数据结构,包括各种基本操作和功能- 加深学生对数据结构的应用和解决问题的能力二、项目需求和功能2.1 项目需求本项目需要实现一个基于JAVA的数据结构,可以包括但不限于以下需求:- 实现各种基本数据结构,如栈、队列、链表、树等- 提供基本的操作和功能,如插入、删除、查找、排序等- 可以处理各种不同类型的数据,如整数、字符、字符串等- 可以实现数据结构的可视化和交互功能- 提供良好的使用界面和用户体验2.2 功能划分根据项目需求,可以将功能分为以下几个部分:- 基本数据结构的实现:栈、队列、链表、树等- 数据结构的基本操作和功能:插入、删除、查找、排序等- 数据类型的处理:整数、字符、字符串等- 可视化和交互功能的实现- 用户界面和用户体验的设计三、项目实现和设计3.1 数据结构的实现在这一部分,需要具体实现各种基本的数据结构,包括但不限于栈、队列、链表、树等。
可以根据不同的数据结构,选择合适的实现方式和算法。
3.2 基本操作和功能的实现在这一部分,需要实现数据结构的基本操作和功能,如插入、删除、查找、排序等。
可以根据具体的需求,选择合适的算法和方法。
3.3 数据类型的处理在这一部分,需要实现对不同类型数据的处理功能,如整数、字符、字符串等。
可以考虑使用面向对象的思想,设计合适的类和方法。
3.4 可视化和交互功能的实现在这一部分,需要实现数据结构的可视化和交互功能,可以考虑使用图形界面或者命令行界面,提供友好的用户界面和用户体验。
算法与数据结构课程设计报告设计题目:专业班级学生学号指导教师2014年第1学期第一部分:需求分析1、系统名称:航空客运订票系统航空客运订票的业务活动包括:查询航线、客票预定和办理退票等。
要求在TC或VC环境下设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。
2、要求:(1)每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行日期(星期几)、乘员定额、余票量、已经订票的客户名单(包括姓名、订票量)以及等候替补的客户名单(包括姓名、所需票量)。
(2)作为模拟系统,全部数据可以只存放在内存中。
(3)通过此系统可以实现如下功能:①录入功能:可以录入航班情况②查询功能:根据客户提供的终点站名进行查询,可以输出以下信息:航班号、飞机号、星期几飞行和余票量等。
也可以根据航班号,查询飞机某个航线的情况。
③订票功能:根据客户提出的要求(姓名、终点站名、订票数量)查询该航班的余票量情况。
如尚有足够的余票,则为客户办理订票手续;若已满员或余票量少于订票数量,则需要重新询问客户要求,如需要,可登记排队候补。
④退票功能:根据客户提供的情况(姓名、日期、航班号),为客户办理退票手续,然后查询该航班是否有人排队候补,若有人排队,则为排在第一位的客户办理订票手续。
第二部分:系统设计图样一:设计说明1:添加航班:整个航班的信息保存在一个结构体flight中,采用结构体数组,每一个航班信息包含航班号、起飞时间、起飞城市、降落时间、降落城市、余票数量。
航班信息通过lulu()函数进行添加。
添加的信息保存在航班flight结构体数组中。
2:查询航班:查询板块分为两个部分,按姓名查找和按站名查找。
按姓名查找:通过所输入的姓名和已定客户的姓名相匹配,匹配成功则查找成功。
按站名查找:通过所输入的起始站名和终点站名进行匹配,匹配成功则查找成功。
3:订票功能:根据用户的姓名和航班号进行订票,如果所查找的航班号的余票满足用户需要的票数,则订票成功,该信息保存在Customer中,才用结构体数组,包含已定客户的姓名、客户ID、订的票数、起飞时间、起飞城市、降落时间、降落城市、航班号。
大二java课程设计题目一、教学目标本课程旨在通过学习Java编程语言,使学生掌握Java的基本语法、面向对象编程思想以及常用的Java类库,培养学生具备编写简单Java应用程序的能力。
具体的教学目标如下:1.掌握Java的基本语法和数据结构;2.理解面向对象编程的基本概念和方法;3.熟悉Java常用类库及其功能。
4.能够使用Java编写简单的应用程序;5.能够运用面向对象编程思想解决实际问题;6.能够阅读和理解Java代码。
情感态度价值观目标:1.培养学生对编程语言的兴趣和好奇心;2.培养学生勇于尝试、不断探索的学习精神;3.培养学生团队协作、共同进步的合作意识。
二、教学内容本课程的教学内容主要包括Java基本语法、面向对象编程、常用Java类库等。
具体的教学大纲如下:1.Java基本语法:变量、数据类型、运算符、控制语句、数组、字符串等;2.面向对象编程:类与对象、构造方法、封装、继承、多态等;3.常用Java类库:Java标准库、集合框架、多线程、网络编程等。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括讲授法、讨论法、案例分析法、实验法等。
1.讲授法:通过讲解Java的基本语法、面向对象编程思想等理论知识,使学生掌握课程的基本概念;2.讨论法:学生针对实际问题进行讨论,培养学生的团队协作能力和解决问题的能力;3.案例分析法:通过分析典型案例,使学生掌握Java编程的实际应用;4.实验法:安排实验课程,让学生动手实践,巩固所学知识。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的Java编程教材;2.参考书:提供相关的Java编程参考书籍,供学生自主学习;3.多媒体资料:制作精美的PPT课件,辅助课堂教学;4.实验设备:提供计算机实验室,让学生进行实验操作。
通过以上教学资源的支持,我们将努力提高学生的学习体验,促进学生的全面发展。
基于java的课课程设计一、教学目标本课程的学习目标包括以下三个方面:1.知识目标:通过本课程的学习,学生将掌握Java编程语言的基本语法、数据结构、控制流程、面向对象编程等核心知识。
2.技能目标:学生能够运用Java语言独立完成简单的程序设计任务,具备基本的编程能力和问题解决能力。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和好奇心,提高学生主动学习和探索未知的精神。
在制定教学目标时,充分考虑了课程性质、学生特点和教学要求,将目标分解为具体的学习成果,以便后续的教学设计和评估。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Java语言的基本语法和编程规范。
2.数据类型、运算符和表达式。
3.控制流程:条件语句、循环语句。
4.面向对象编程:类、对象、继承、多态、封装。
5.常用数据结构:数组、链表、树、图。
6.异常处理和文件操作。
7.Java语言的标准库和常用API。
8.简单的Java程序设计实例。
教学内容的选择和遵循科学性和系统性原则,确保学生能够扎实掌握Java编程的基础知识。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法:1.讲授法:讲解Java编程的基本概念和知识点,为学生提供系统的知识结构。
2.案例分析法:通过分析实际案例,让学生学会如何运用Java语言解决具体问题。
3.实验法:安排实验室实践环节,让学生动手编写代码,提高编程能力。
4.讨论法:学生进行小组讨论,促进学生之间的交流与合作,培养团队精神。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《Java编程思想》或《Java核心技术》。
2.参考书:提供一些Java编程相关的参考书籍,方便学生深入学习。
3.多媒体资料:制作课件、视频教程等,帮助学生更好地理解教学内容。
4.实验设备:计算机、网络设施等,为学生提供实验室实践的条件。
五、教学评估为了全面、客观、公正地评估学生的学习成果,本课程将采用以下评估方式:1.平时表现:通过课堂参与、提问、讨论等环节,评估学生的学习态度和积极性。
IDEJavaweb课程设计一、教学目标本课程的教学目标是让学生掌握IDE Javaweb的基本概念和技能,能够运用Java语言进行简单的Web应用程序开发。
具体目标如下:1.理解Java语言的基本语法和数据结构。
2.掌握面向对象编程的基本概念和方法。
3.熟悉Web应用程序的基本结构和开发流程。
4.了解Java Web技术的原理和应用。
5.能够使用IDE(如Eclipse或IntelliJ IDEA)进行Java代码的编写、调试和运行。
6.掌握Java Web项目的创建、配置和管理。
7.学会使用Java技术编写简单的Web接口和前端页面。
8.能够运用Java技术解决实际问题,具备一定的编程能力。
情感态度价值观目标:1.培养学生的团队合作意识和沟通能力。
2.培养学生对编程事业的热爱和敬业精神。
3.提高学生的问题解决能力和创新思维。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个方面:1.Java语言基础:Java语法、数据类型、运算符、控制结构、数组、字符串等。
2.面向对象编程:类与对象、构造方法、继承与多态、封装、接口等。
3.Web应用程序开发:HTML、CSS、JavaScript、Servlet、JSP、数据库等。
4.Java Web技术:HTTP协议、服务器、客户端技术、框架等。
教学大纲将按照以上内容进行安排,确保教学内容的科学性和系统性。
具体章节和内容如下:1.第1-2章:Java语言基础。
2.第3-4章:面向对象编程。
3.第5-6章:Web应用程序开发。
4.第7-8章:Java Web技术。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式:1.讲授法:讲解基本概念、原理和方法,引导学生掌握核心知识。
2.案例分析法:分析实际案例,让学生了解Java Web技术的应用和原理。
3.实验法:上机实验,让学生动手编写代码,提高实际编程能力。
4.讨论法:分组讨论,培养学生团队合作意识和沟通能力。
《数据结构》课程实验指导《数据结构》实验教学大纲课程代码:0806523006 开课学期:3 开课专业:信息管理与信息系统总学时/实验学时:64/16 总学分/实验学分:3.5/0.5一、课程简介数据结构是计算机各专业的重要技术基础课。
在计算机科学中,数据结构不仅是一般程序设计的基础,而且是编译原理、操作系统、数据库系统及其它系统程序和大型应用程序开发的重要基础。
数据结构课程主要讨论各种主要数据结构的特点、计算机内的表示方法、处理数据的算法以及对算法性能的分析。
通过对本课程的系统学习使学生掌握各种数据结构的特点、存储表示、运算的原理和方法,学会从问题入手,分析研究计算机加工的数据结构的特性,以便为应用所涉及的数据选择适当的逻辑结构、存储机构及其相应的操作算法,并初步掌握时间和空间分析技术。
另一方面,本课程的学习过程也是进行复杂程序设计的训练过程,通过对本课程算法设计和上机实践的训练,还应培养学生的数据抽象能力和程序设计的能力。
二、实验的地位、作用和目的数据结构是一门实践性较强的基础课程,本课程实验主要是着眼于原理和应用的结合,通过实验,一方面能使学生学会把书上学到的知识用于解决实际问题,加强培养学生如何根据计算机所处理对象的特点来组织数据存储和编写性能好的操作算法的能力,为以后相关课程的学习和大型软件的开发打下扎实的基础。
另一方面使书上的知识变活,起到深化理解和灵活掌握教学内容的目的。
三、实验方式与基本要求实验方式是上机编写完成实验项目指定功能的程序,并调试、运行,最终得出正确结果。
具体实验要求如下:1.问题分析充分地分析和理解问题本身,弄清要求,包括功能要求、性能要求、设计要求和约束,以及基本数据特性、数据间联系等等。
2.数据结构设计针对要解决的问题,考虑各种可能的数据结构,并且力求从中选出最佳方案(必须连同算法实现一起考虑),确定主要的数据结构和全程变量。
对引入的每种数据结构和全程变量要详细说明其功用、初值和操作的特点。
数据结构Java语言描述第二版教学设计一、课程背景随着数据量的不断增加,数据也变得越来越复杂,这就需要数据结构这门学科帮助我们更好地解决这些问题。
在软件开发领域,数据结构是一门十分重要的学科,因此本课程旨在为学生提供数据结构方面的知识和技能。
本课程基于第二版《数据结构》一书,用Java语言进行描述。
本课程适合已经具备了Java编程基础并对数据结构感兴趣的学生。
二、课程目标通过本课程的学习,学生应该能够掌握以下技能:1.理解基本的数据结构概念,包括数组、链表、栈、队列、散列表、树和图等;2.了解不同的数据结构的优缺点及其应用场景;3.熟练掌握Java语言中实现数据结构的方法;4.能够分析算法复杂度并优化代码。
三、教学方法1. 理论教学在理论教学方面,我们将采用讲解、演示和案例教学等方式,帮助学生理解数据结构的概念和实现方法。
2. 实验教学在实验教学方面,我们将通过实践让学生更深入地理解数据结构。
我们将为学生提供一系列的实验题目,鼓励学生尝试自己动手实现不同的数据结构,并进行算法复杂度分析。
四、课程安排本课程共包括15次课程,每次课程2小时,下面是具体的课程内容:课程编号课程内容第一次Java语言基础回顾与数据结构概述第二次数组和链表第三次栈和队列第四次排序算法第五次散列表第六次二叉树第七次图的基本概念和表示方法第八次图的遍历算法第九次最短路径算法第十次最小生成树算法第十一次红黑树和B树第十二次堆和堆排序算法课程编号课程内容第十三次算法复杂度分析及优化第十四次实验课(动手实现前面所学的数据结构)第十五次实验课(完成最终项目,综合运用前面所学的知识)五、教学方式本课程采用面授方式授课,同时我们还将提供Java数据结构的在线学习资源,供学生在课堂外辅助学习。
此外,我们还将为学生提供一系列数据结构的编程小练习,帮助学生巩固所学知识。
六、考核方式本课程的考核方式包括:1.期末考试(占60%):考查学生在数据结构知识方面的掌握程度和应用能力;2.实验报告(占20%):考查学生独立实现数据结构的能力以及算法复杂度分析能力;3.作业(占10%):包括编程小练习和阅读理解题两部分;4.出勤(占10%):根据学生的课堂出勤情况评定。
第一个 LinListpublic class LinList implements List {Node head;Node current;int size;LinList(){head = current = new Node(null);}public void index(int i) throws Exception{if(i < -1 || i > size - 1){throw new Exception("参数错误!");}if(i == -1) {current=head;return;}current = head.next;int j = 0;while((current != null) && j < i){current=current.next;j ++;}}public void insert(int i,String obj) throws Exception{ if(i < 0 || i > size){throw new Exception("参数错误!");}index(i - 1);current.setNext(new Node(obj,current.next));size ++;}public String delete(int i) throws Exception{if(size == 0){throw new Exception("链表已空无元素可删!");}if(i < 0 || i > size - 1){throw new Exception("参数错误!");}index(i - 1);String obj = current.next.getElement();current.setNext(current.next.next);size --;return obj;}public int size(){return size;}public boolean isEmpty(){return size == 0;}public String getData(int i) throws Exception{ if(i < -1 || i > size - 1){throw new Exception("参数错误!");}index(i);return current.getElement();}}第二个接口Listpublic interface List{public void insert(int i,String obj) throws Exception;public Object delete(int i) throws Exception;public String getData(int i) throws Exception;public int size();public boolean isEmpty();}第三个主函数Main1import java.awt.Button;import java.awt.Color;import java.awt.Container;import java.awt.Font;import java.awt.TextArea;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowEvent;import java.awt.event.WindowFocusListener;import java.awt.event.WindowListener;import java.awt.List;import java.util.StringTokenizer;import javax.swing.*;import javax.swing.JFrame;public class Main1 extends JFrame{private static JFrame frame;private JLabel textJLabel;private JLabel textJLabel1;private JLabel textJLabel2;private JLabel textJLabel3;private JLabel picture;private Button button1;private Button button2;private Button button3;private Button button4;private Button button5;private Button button8;private Button button9;private Button button10;private JLabel label1;private JLabel label2;private JLabel label3;private JTextField text1;private JTextField text2;private JTextField text3;private JButton button6;private JLabel label4;private JLabel label5;private JLabel label6;private JLabel label7;private JTextField text4;private JTextField text5;private JTextField text6;private JTextField text7;private JButton button7;LinList linlist1=new LinList();public int num=0;public int tidai;public StringTokenizer str;public Main1(){creat();}private void creat(){Container contentPane=getContentPane();contentPane.setBackground(Color.ORANGE);contentPane.setLayout(null);textJLabel=new JLabel();textJLabel.setText("welcome to sale system");textJLabel.setBounds(160, 10, 275, 40);textJLabel.setFont(new Font("宋体",Font.BOLD,20));textJLabel.setHorizontalAlignment(JLabel.CENTER);contentPane.add(textJLabel);textJLabel1=new JLabel();textJLabel1.setText("Number");textJLabel1.setBounds(185, 70, 100, 20);contentPane.add(textJLabel1);textJLabel2=new JLabel();textJLabel2.setText("Name");textJLabel2.setBounds(285, 70, 100, 20);contentPane.add(textJLabel2);textJLabel3=new JLabel();textJLabel3.setText("Price"); textJLabel3.setBounds(385, 70, 100, 20); contentPane.add(textJLabel3);button1=new Button("添加");button1.setBounds(30,75,100,40); contentPane.add(button1);button2=new Button("修改");button2.setBounds(30,165,100,40); contentPane.add(button2);button3=new Button("删除");button3.setBounds(30,255,100,40); contentPane.add(button3);button4=new Button("排序");button4.setBounds(470,75,100,40); contentPane.add(button4);button5=new Button("退出");button5.setBounds(250,300,100,50); contentPane.add(button5);final List list=new List(500,false);list.setBounds(180, 90, 250, 180); contentPane.add(list);button8=new Button("查询");button8.setBounds(475, 165, 100, 40); contentPane.add(button8);button10=new Button("显示");button10.setBounds(475, 255, 100, 40); contentPane.add(button10);setTitle("welcome");setSize(600,450);setLocation(400, 180);setVisible(true);setResizable(false);button1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) { // TODO Auto-generated method stubfinal JFrame contentPane=new JFrame();contentPane.setBackground(Color.white);contentPane.setLayout(null);label1=new JLabel();label1.setText("编号");label1.setBounds(30, 35, 100, 21);contentPane.add(label1);text1=new JTextField();text1.setText(null);text1.setBounds(65, 35, 150, 21);contentPane.add(text1);label2=new JLabel();label2.setText("名称");label2.setBounds(30, 65, 100, 21);contentPane.add(label2);text2=new JTextField();text2.setText(null);text2.setBounds(65, 65, 150, 21);contentPane.add(text2);label3=new JLabel();label3.setText("价格");label3.setBounds(30, 95, 100, 21);contentPane.add(label3);text3=new JTextField();text3.setText(null);text3.setBounds(65, 95, 150, 21);contentPane.add(text3);button6=new JButton();button6.setText("确定");button6.setBounds(100,125,60,25);contentPane.add(button6);contentPane.setTitle("录入");contentPane.setSize(275,220);contentPane.setLocation(520, 300);contentPane.setVisible(true);contentPane.setResizable(false);button6.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubtry {linlist1.insert(num, text1.getText()+" "+text2.getText()+" "+text3.getText());list.add(linlist1.getData(num));num++;} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}contentPane.dispose();}});}});button2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubif(list.getSelectedIndex()==-1||list==null){JOptionPane.showMessageDialog(null, "请选择要修改的信息");}else{final JFrame contentPane1=new JFrame();contentPane1.setBackground(Color.white);contentPane1.setLayout(null);label4=new JLabel();label4.setText("编号");label4.setBounds(30, 35, 100, 21); contentPane1.add(label4);text4=new JTextField();//text4.setText(null);text4.setBounds(65, 35, 150, 21); contentPane1.add(text4);label5=new JLabel();label5.setText("名称");label5.setBounds(30, 65, 100, 21); contentPane1.add(label5);text5=new JTextField();//text5.setText(null);text5.setBounds(65, 65, 150, 21); contentPane1.add(text5);label6=new JLabel();label6.setText("价格");label6.setBounds(30, 95, 100, 21); contentPane1.add(label6);text6=new JTextField();//text6.setText(null);text6.setBounds(65, 95, 150, 21); contentPane1.add(text6);button7=new JButton();button7.setText("保存");button7.setBounds(100,125,60,25); contentPane1.add(button7);contentPane1.setTitle("修改"); contentPane1.setSize(275,220); contentPane1.setLocation(520, 300); contentPane1.setVisible(true); contentPane1.setResizable(false);tidai=list.getSelectedIndex();list.remove(tidai);try {str=new StringTokenizer(linlist1.getData(tidai));} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}text4.setText(str.nextToken());text5.setText(str.nextToken());text6.setText(str.nextToken());try {linlist1.delete(tidai);} catch (Exception e2) {// TODO Auto-generated catch blocke2.printStackTrace();}button7.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtry {linlist1.insert(tidai, text4.getText()+" "+text5.getText()+" "+text6.getText());list.add(linlist1.getData(tidai),tidai);} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}contentPane1.dispose();}});}}});button3.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif(list.getSelectedIndex()==-1){JOptionPane.showMessageDialog(null, "请选择要删除的信息");}else{tidai=list.getSelectedIndex();list.remove(tidai);try {linlist1.delete(tidai);num--;} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}}});button4.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubpaixu cun[]=new paixu[num];for(int m=0;m<num;m++){cun[m]=new paixu();}for(int i=0;i<num;i++){//list.select(i);try {str=new StringTokenizer(linlist1.getData(i)," ");cun[i].bianhao=str.nextToken();cun[i].name=str.nextToken();cun[i].price=Integer.parseInt(str.nextToken());} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}int n=cun.length;for(int i=1;i<n;i++){for(int j=0;j<n-i;j++){if(cun[j].price<cun[j+1].price){paixu t = cun[j];cun[j] = cun[j+1];cun[j+1] = t;}}}list.removeAll();for(int k=0;k<num;k++){try {linlist1.insert(k, cun[k].bianhao+" "+cun[k].name+" "+cun[k].price);list.add(linlist1.getData(k));} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}}});button5.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubSystem.exit(0);}});button8.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubfinal JFrame frame=new JFrame("查询");frame.setLayout(null);frame.setBounds(520, 300, 400, 150);frame.setV isible(true);frame.setResizable(false);label7=new JLabel("请输入名称或编号:");label7.setBounds(60, 35, 120, 21);frame.add(label7);text7=new JTextField();text7.setBounds(180, 35, 120, 21);frame.add(text7);button9=new Button("查询");button9.setBounds(170, 70, 60, 25);frame.add(button9);button9.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubint tag=0;paixu cun1[]=new paixu[num];list.removeAll();for(int m=0;m<num;m++){cun1[m]=new paixu();}for(int i=0;i<num;i++){try {str=new StringTokenizer(linlist1.getData(i)," ");cun1[i].bianhao=str.nextToken();cun1[i].name=str.nextToken();cun1[i].p=str.nextToken();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}if(text7.getText().equals(cun1[i].bianhao)||text7.getText().equals(cun1[i].name)){list.add(cun1[i].bianhao+""+cun1[i].name+" "+cun1[i].p);}else{tag++;}}if(tag==num){JOptionPane.showMessageDialog(null, "输入信息有误,请重新输入");}else{frame.dispose();}}});}});button10.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent arg0) {list.removeAll();for(int i=0;i<num;i++){try {list.add(linlist1.getData(i));} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}});}public static void main(String args[]){Main1 a=new Main1();a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}第四个节点类 Node public class Node{String element; //数据元素Node next; //表示下一个结点的对象Node(Node nextval){ //用于头结点的构造函数1next = nextval;}Node(String obj,Node nextval){ //用于其他结点的构造函数2element = obj;next = nextval;}public Node getNext(){return next;}public void setNext(Node nextval){next = nextval;}public String getElement(){return element;}public void setElement(String obj){element = obj;}public String toString(){return element.toString();}}第五个排序类paixupublic class paixu {public String bianhao;public String name;public int price;public String p;public paixu(){bianhao=null;name=null;price=0;p=null;}}。