java课程设计实验报告

合集下载

Java程序设计实训总结[优秀范文五篇]

Java程序设计实训总结[优秀范文五篇]

Java程序设计实训总结[优秀范文五篇]第一篇:Java程序设计实训总结Java项目开发实训总结设计人:张**班级和班内序号:软件项目选题意义:选这个题目的原因:目前,随着国外的网上书店的盛行,在国内也出现了一些网上书店,如当当网、卓越网、以及china-pub等等。

互联网为这些网上书店的发展提供了无限的空间,这些网上的虚拟书店同实体书店一样可以容纳无限的图书或图样以及内容。

“这些网上书店的实现使用了当今世界最先进的计算机技术和网络技术,迅速的成为国内知名图书网站”。

作为计算机专业的学生,对于完成电子商务的计算机技术更需要切实掌握,以便在社会上更好的使用自己的所学技能,因此研究有关电子商务的计算机技术成为了极为有意义的课题。

项目名称:网上书店自我评价:优秀所开发系统的使用价值和应用领域:可以使用户方便的购买图书,为用户节省更多的时间。

应用领域是向广大群众开放,不过需用户注册后才能购买,还需用户会基本的电脑操作。

项目设计情况:项目的设计使用工具有NetBeans IDE 7.3和SQL Server Management StudioR2,技术有JSP技术,包括struts和Hibernate。

删除图书信息等功能。

项目设计中主要完成哪些任务?项目的设计已完成预期目标!项目的优势和缺陷:优势:本项目采用J2EE中的struts和Hibernate技术,J2EE代表的是一种前沿技术,它使得复杂的多层结构应用系统开发变得容易。

J2EE 建立在己取得极大成功的Java语言之上,采用J2EE规范能有效地进行软件复用,提高开发人员的效率,降低软件的开发和维护成本,提高软件的质量,控制所构建系统的复杂性。

J2EE规范将使得Java在企业计算中的地位得到加强,为基于Java 的应用系统提供了一个框架,和目前的许多系统和模型相比,J2EE具有许多优越性。

种种迹象表明,J2EE有可能成为多层结构分布式应用系统的服务器端构件模型的首要选择。

java类的设计实验报告

java类的设计实验报告

java类的设计实验报告Java 类的设计实验报告一、实验目的本次实验的主要目的是深入理解和掌握 Java 类的设计原则、方法和技巧,通过实际的编程实践,提高对面向对象编程思想的应用能力,培养良好的编程习惯和代码规范。

二、实验环境1、操作系统:Windows 102、开发工具:IntelliJ IDEA3、 JDK 版本:18三、实验内容1、设计一个简单的学生类(Student),包含学生的姓名(name)、年龄(age)、学号(studentId)等属性,并提供相应的构造方法、getter 和 setter 方法。

2、设计一个课程类(Course),包含课程名称(courseName)、课程编号(courseId)、授课教师(teacher)等属性,同样提供构造方法和相关的访问方法。

3、设计一个学生选课类(StudentCourse),用于关联学生和课程,包含学生对象(student)、课程对象(course)、选课时间(selectTime)等属性,并实现相应的方法来获取和设置这些属性。

四、实验步骤(一)学生类(Student)的设计```javapublic class Student {private String name;private int age;private String studentId;//无参构造方法public Student(){}//有参构造方法public Student(String name, int age, String studentId) {thisname = name;thisage = age;thisstudentId = studentId;}// getter 和 setter 方法public String getName(){return name;}public void setName(String name) {thisname = name;}public int getAge(){return age;}public void setAge(int age) {thisage = age;}public String getStudentId(){return studentId;}public void setStudentId(String studentId) {thisstudentId = studentId;}}```(二)课程类(Course)的设计```javapublic class Course {private String courseName;private String courseId;private String teacher;//无参构造方法public Course(){}//有参构造方法public Course(String courseName, String courseId, String teacher) {thiscourseName = courseName;thiscourseId = courseId;thisteacher = teacher;}// getter 和 setter 方法public String getCourseName(){return courseName;}public void setCourseName(String courseName) {thiscourseName = courseName;}public String getCourseId(){return courseId;}public void setCourseId(String courseId) {thiscourseId = courseId;}public String getTeacher(){return teacher;}public void setTeacher(String teacher) {thisteacher = teacher;}}```(三)学生选课类(StudentCourse)的设计```javapublic class StudentCourse {private Student student;private Course course;private String selectTime;//无参构造方法public StudentCourse(){}//有参构造方法public StudentCourse(Student student, Course course, String selectTime) {thisstudent = student;thiscourse = course;thisselectTime = selectTime;}// getter 和 setter 方法public Student getStudent(){return student;}public void setStudent(Student student) {thisstudent = student;}public Course getCourse(){return course;}public void setCourse(Course course) {thiscourse = course;}public String getSelectTime(){return selectTime;}public void setSelectTime(String selectTime) {thisselectTime = selectTime;}}```(四)测试类```javapublic class Test {public static void main(String args) {//创建学生对象Student student1 = new Student("张三", 20, "001");//创建课程对象Course course1 = new Course("Java 编程","001","李老师");//创建学生选课对象StudentCourse studentCourse1 = new StudentCourse(student1,course1, "2023-09-01");//输出学生选课信息Systemoutprintln("学生姓名:"+ studentCourse1getStudent()getName());Systemoutprintln("学生年龄:"+ studentCourse1getStudent()getAge());Systemoutprintln("学生学号:"+ studentCourse1getStudent()getStudentId());Systemoutprintln("课程名称:"+ studentCourse1getCourse()getCourseName());Systemoutprintln("课程编号:"+ studentCourse1getCourse()getCourseId());Systemoutprintln("授课教师:"+ studentCourse1getCourse()getTeacher());Systemoutprintln("选课时间:"+studentCourse1getSelectTime());}}```五、实验结果与分析通过运行测试类,成功输出了学生选课的相关信息,包括学生的姓名、年龄、学号,课程的名称、编号、授课教师以及选课时间。

Java实验三实验报告1

Java实验三实验报告1

Java实验三实验报告1一、实验目的本次 Java 实验的主要目的是深入理解和掌握 Java 中的面向对象编程概念,通过实际的编程实践,提高对类、对象、继承、多态等特性的运用能力,同时培养良好的编程习惯和代码规范。

二、实验环境1、操作系统:Windows 102、开发工具:Eclipse IDE for Java Developers三、实验内容1、设计一个名为`Shape` 的抽象类,其中包含一个抽象方法`calculateArea()`用于计算图形的面积。

2、分别创建`Circle`(圆形)、`Rectangle`(矩形)和`Triangle`(三角形)类继承自`Shape` 类,并实现各自的`calculateArea()`方法来计算具体图形的面积。

3、创建一个测试类`TestShapes`,在其中创建不同图形的对象,并调用其计算面积的方法,输出结果。

四、实验步骤1、创建`Shape` 抽象类```javaabstract class Shape {abstract double calculateArea();}```2、创建`Circle` 类继承自`Shape` 类```javaclass Circle extends Shape {private double radius;public Circle(double radius) {thisradius = radius;}@Overridedouble calculateArea(){return MathPI radius radius;}}```3、创建`Rectangle` 类继承自`Shape` 类```javaclass Rectangle extends Shape {private double length;private double width;public Rectangle(double length, double width) {thislength = length;thiswidth = width;}@Overridedouble calculateArea(){return length width;}}```4、创建`Triangle` 类继承自`Shape` 类```javaclass Triangle extends Shape {private double base;private double height;public Triangle(double base, double height) {thisbase = base;thisheight = height;}@Overridedouble calculateArea(){return 05 base height;}}```5、创建测试类`TestShapes````javapublic class TestShapes {public static void main(String args) {Circle circle = new Circle(50);Rectangle rectangle = new Rectangle(40, 60);Triangle triangle = new Triangle(30, 80);Systemoutprintln("圆形的面积:"+ circlecalculateArea());Systemoutprintln("矩形的面积:"+ rectanglecalculateArea());Systemoutprintln("三角形的面积:"+trianglecalculateArea());}}```五、实验结果运行测试类`TestShapes` 后,输出结果如下:```圆形的面积:78539816矩形的面积:240三角形的面积:120```六、实验中遇到的问题及解决方法1、在编写抽象类和子类的代码时,一开始对于抽象方法的定义和实现理解不够清晰,导致代码出现错误。

java语言程序设计实验报告

java语言程序设计实验报告

java语言程序设计实验报告篇一:Java实验八报告《Java语言程序设计》实验报告学生姓名:郭倩班级:信息112学号:201152275208实验地点:经管实验中心证券实验室指导教师:赵利平实验日期:实验环境:Windows 2000+JDK1.61. 实验目的(1)理解子类派生的概念(2)学习创建子类对象(3)掌握方法覆盖的使用2.实验内容(1)设计三个类:完成实验教材P52页程序清单4-2;(2)通过编制一个程序来加深对嵌套类、内部类和局部类的理解:完成实验教材P56页程序清单4-3;2. 实验过程报告撰写具体要求:上述实验内容要求写出源代码及运行结果。

实验内容(1)://Polymorphism.abstract class Student{final static int CourseNo=3;String name;String type;int[] courses;String courseGrade;public Student(String name){=name;courses=new int[CourseNo];courseGrade=null;}public abstract void calculateGrade();public String getName(){return name;}public String getType(){return type;}public String getCourseGrade(){return courseGrade;}public int getCourseScore(int courseNumber){return courses[courseNumber];}public void setName(String name){=name;}public void setType(String type){this.type=type;}public void setCourseScore(int courseNumber,int courseScore){this.courses[courseNumber]=courseScore;}}class Undergraduate extends Student{public Undergraduate(String name){super(name);type="本科生";}public void calculateGrade(){int total=0;double average=0;for(int i=0;i<CourseNo;i++){total+=courses[i];};average=total/CourseNo;if(average>=80&&average<100) coursegrade="优秀" else="" average="">=70&&average<80) coursegrade="良好" else="" average="">=60&&average<70) coursegrade="一般" else="" average="">=50&&average<60) courseGrade="及格";else courseGrade="不及格";}}class Postgraduate extends Student{public Postgraduate(String name){super(name);type="研究生";}public void calculateGrade(){int total=0;double average=0;for(int i=0;i<CourseNo;i++){total+=courses[i];};average=total/CourseNo;if(average>=90&&average<100) coursegrade="优秀" else="" average="">=80&&average<90) coursegrade="良好"else="" average="">=70&&average<80) coursegrade="一般" else="" average="">=60&&average<70) courseGrade="及格";else courseGrade="不及格";}}public class Polymorphism{public static void main(String[] args){Student[] students=new Student[5];students[0]=new Undergraduate("陈建平");students[1]=new Undergraduate("鲁向东");students[2]=new Postgraduate("匡晓华");students[3]=new Undergraduate("周丽娜");students[4]=new Postgraduate("梁欣欣");for(int i=0;i<5;i++){students[i].setCourseScore(0,87);students[i].setCourseScore(1,90);students[i].setCourseScore(2,78);}for(int i=0;i<5;i++){students[i].calculateGrade();}System.out.println("姓名"+" 类型"+" 成绩");}}System.out.println("-------------------------"); for(int i=0;i<5;i++){ System.out.println(students[i].getName()+" "+students[i].getType()+" "+students[i].getCourseGrade()); }(1) 都有(2) Student[] students=new Student[5];(3) Student是抽象的,不能用new操作符创建抽象类的实例。

java实验报告——简单计算器的编写五篇范文

java实验报告——简单计算器的编写五篇范文

java实验报告——简单计算器的编写五篇范文第一篇:java实验报告——简单计算器的编写JAVA实验报告——简单计算器的编写班级:学号:姓名:一、实验目的1.掌握java图形用户界面(GUI)的设计原理和程序结构2.能设计复核问题要求的图形用户界面程序3.掌握常用组件的事件接口4.应用awt和swing组件进行应用程序设计二、实验条件1.计算机一台2.java软件开发环境三、实验步骤1、编写代码:mport java.awt.*;import java.awt.event.*;import javax.swing.*;public class JCalculator extends JFrame implements ActionListener {private static final long serialVersionUID =-***457Lprivate class WindowCloser extends WindowAdapter {public void windowClosing(WindowEvent we){System.exit(0);}}int i;private final String[] str = { “7”, “8”, “9”, “/”, “4”, “5”, “6”, “*”, “1”,“2”, “3”, “-”, “.”, “0”, “=”, “+” };JButton[] buttons = new JButton[str.length]; JButton reset = new JButton(“CE”); JTextField display = new JTextField(“0”);public JCalculator(){super(“Calculator”);JPanel panel1 = new JPanel(new GridLayout(4, 4)); for(i = 0;i < str.length;i++){buttons[i] = new JButton(str[i]);panel1.add(buttons[i]);}JPanel panel2 = new JPanel(new BorderLayout()); panel2.add(“Center”, display);panel2.add(“East”, reset);getContentPane().setLayout(new BorderLayout()); getContentPane().add(“North”, panel2); getContentPane().add(“Center”, panel1);for(i = 0;i < str.length;i++)buttons[i].addActionListener(this);reset.addActionListener(this);display.addActionListener(this); addWindowListener(new WindowCloser()); setSize(800, 800);setVisible(true);pack();}public void actionPerformed(ActionEvent e){ Object target = e.getSource();String label = e.getActionCommand();if(target == reset)handleReset();else if(“0123456789.”.indexOf(label)> 0)handleNumber(label);elsehandleOperator(label);}boolean isFirstDigit = true;public void handleNumber(String key){if(isFirstDigit)display.setText(key);else if((key.equals(“.”))&&(display.getText().indexOf(“.”)< 0))display.setText(display.getText()+ “.”);else if(!key.equals(“.”))display.setText(display.getText()+ key);isFirstDigit = false;}public void handleReset(){display.setText(“0”);isFirstDigit = true;operator = “=”;}double number = 0.0;String operator = “=”;public void handleOperator(String key){if(operator.equals(“+”))number += Double.valueOf(display.getText());else if(operator.equals(“-”))number-= Double.valueOf(display.getText());else if(operator.equals(“*”))number *= Double.valueOf(display.getText());else if(operator.equals(“/”))number /= Double.valueOf(display.getText());else if(operator.equals(“=”))number = Double.valueOf(display.getText());display.setText(String.valueOf(number));operator = key;isFirstDigit = true;}public static void main(String[] args){new JCalculator();} }2、运行结果,见截图计算测试:123+456=579结果正确,程序无误。

java设计实验报告

java设计实验报告

java设计实验报告Java设计实验报告一、引言Java是一种广泛应用于软件开发的编程语言,具有跨平台、面向对象、可移植等特点。

本文将介绍一项基于Java的设计实验,并分析实验过程中的问题和解决方案。

二、实验目标本次实验的目标是设计一个简单的学生管理系统,实现学生信息的录入、查询、修改和删除功能。

通过这个实验,旨在加深对Java编程语言的理解和应用。

三、实验过程1. 设计数据结构在开始编写代码之前,我们需要先设计好数据结构。

在这个学生管理系统中,我们需要存储学生的姓名、学号、年龄、性别等信息。

可以使用类来表示学生对象,每个学生对象包含相应的属性和方法。

2. 编写代码根据设计好的数据结构,我们开始编写代码。

首先,我们需要创建一个学生类,包含学生的属性和方法。

然后,我们可以在主类中创建学生对象,并对学生信息进行操作。

3. 实现录入功能在学生管理系统中,我们需要实现学生信息的录入功能。

可以通过在控制台上输入学生的姓名、学号、年龄、性别等信息,并将其存储到学生对象中。

4. 实现查询功能学生管理系统还需要实现学生信息的查询功能。

可以通过输入学生的学号或姓名等关键字,在学生对象中进行查找,并输出相应的学生信息。

5. 实现修改功能学生信息可能会发生变化,因此我们需要实现学生信息的修改功能。

可以通过输入学生的学号或姓名等关键字,找到对应的学生对象,并修改其相应的属性。

6. 实现删除功能在一些情况下,我们可能需要删除某个学生的信息。

可以通过输入学生的学号或姓名等关键字,在学生对象中进行查找,并将其删除。

四、实验结果经过实验,我们成功实现了学生管理系统的基本功能。

我们可以通过控制台进行学生信息的录入、查询、修改和删除操作,并获得相应的结果。

五、实验问题与解决方案在实验过程中,我们遇到了一些问题,但通过不断尝试和调试,最终找到了解决方案。

1. 数据结构设计问题在设计数据结构时,我们需要考虑到学生信息的存储和查找效率。

java课程设计及实验报告

java课程设计及实验报告

java课程设计及实验报告一、教学目标本课程旨在通过Java编程语言的学习,让学生掌握Java编程的基本语法、面向对象编程思想以及常用的数据结构与算法。

通过课程的学习,使学生能够独立完成简单的Java程序,培养学生的编程能力和逻辑思维能力。

具体的教学目标如下:1.知识目标:–掌握Java基本语法和编程规范;–理解面向对象编程的基本概念和方法;–熟悉常用的数据结构(如数组、链表、栈、队列等)和算法(如排序、查找等)。

2.技能目标:–能够使用Java编写简单的程序,解决实际问题;–能够运用面向对象编程思想进行程序设计;–能够运用常用的数据结构与算法解决编程问题。

3.情感态度价值观目标:–培养学生的团队合作意识和沟通能力;–培养学生的创新精神和解决问题的能力;–培养学生的自主学习能力和持续学习的兴趣。

二、教学内容根据教学目标,本课程的教学内容主要包括以下几个方面:1.Java基本语法和编程规范;2.面向对象编程思想,包括类与对象、继承与多态、封装等;3.常用的数据结构与算法,包括数组、链表、栈、队列、排序、查找等;4.Java标准库的使用,包括字符串、数学运算、输入输出等;5.简单的Java编程实例和实战项目。

教学内容的安排和进度如下:•第1-2周:Java基本语法和编程规范;•第3-4周:面向对象编程思想;•第5-6周:常用的数据结构与算法;•第7-8周:Java标准库的使用;•第9-10周:简单的Java编程实例和实战项目。

三、教学方法为了达到教学目标,本课程将采用多种教学方法,包括:1.讲授法:讲解Java基本语法、面向对象编程思想和常用的数据结构与算法;2.案例分析法:分析实际的编程案例,让学生更好地理解和运用Java编程知识;3.实验法:让学生通过动手实践,巩固所学知识和技能;4.讨论法:学生进行小组讨论,培养学生的团队合作意识和沟通能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《Java编程思想》;2.参考书:《Java核心技术》、《Head First Java》;3.多媒体资料:教学PPT、视频教程、在线编程练习题等;4.实验设备:计算机、网络环境、编程开发环境(如Eclipse、IntelliJIDEA等)。

java实训报告8篇

java实训报告8篇

java实训报告java实训报告8篇我们眼下的社会,需要使用报告的情况越来越多,其在写作上有一定的技巧。

那么报告应该怎么写才合适呢?下面是小编收集整理的java实训报告,供大家参考借鉴,希望可以帮助到有需要的朋友。

java实训报告1一、课程设计名称及主要内容:1、课程设计名称:时钟动画2、课程设计的主要内容:以下题目任选一个:(1)图形界面类,如科学计算器、绘图板、日历、游戏程序等。

(2)动画类,编制功能较复杂、效果较好的Applet动画程序。

(3)数据处理类,如学生学籍、课程成绩、图书编目、仓库货物等数据录入查询程序。

(4)其他类型,自选题目,须经指导老师同意。

我所选的题目是动画类的Applet动画程序,主要任务是用Java 程序设计一个时钟动画。

二、程序的设计思想和流程图:1、设计思想:现在的各种时钟花样百出,千奇百怪,功能亦是越来越先进了。

我很喜欢这些各式各样的时钟,所以希望自己也能设计出一个来。

于是,我希望自己能够用自己所学的Java知识设计出一个自己的时钟动画,即使是最简单的,但我相信这是暂时的。

只要我能够努力学好Java知识,将来一定能够设计出更好更完美的时钟动画。

2、流程图:三、程序介绍:1、设计方法及步骤:题目分析:根据《课程设计任务书》要求,分析题目,构造出程序的基本思路(算法设计)。

画出程序设计结构框图。

构造数据结构:根据程序结构框图和题目分析结果(采用算法),构造程序所用各项数据,各种窗体及他们之间的联系。

构造程序框架:在窗体确定之后,根据算法设计出所用各个窗体之间的调用关系。

程序设计:①画出程序功能框图和结构框图;②根据框图设计程序;③编译程序调试程序,使程序可以使用;④完备程序功能。

程序打包:所设计程序汇总,将程序分类归入相应子目录,完成程序所有设计要求。

2、完成情况:经过一系列的Java程序代码的设计,虽然过程中遇到了许多的问题,但是最终解决了所有的'问题,准确的设计出了时钟动画,运行情况正常。

java课程设计实验报告题目

java课程设计实验报告题目

java课程设计实验报告题目一、教学目标本章节的教学目标旨在让学生掌握Java编程语言的基本语法、概念和编程技巧,培养学生具备基本的Java编程能力。

具体包括以下几个方面:1.知识目标:–理解Java编程语言的基本语法和结构;–掌握Java中的数据类型、运算符、控制语句、数组、字符串等基本概念;–了解Java面向对象编程的基本概念,如类、对象、封装、继承和多态;–熟悉Java编程语言的常用API和库。

2.技能目标:–能够运用Java编程语言编写简单的程序,解决实际问题;–掌握Java编程语言的调试技巧,能够找到并修复程序中的错误;–熟悉Java编程语言的编程规范和最佳实践。

3.情感态度价值观目标:–培养学生对编程语言的兴趣和好奇心,激发学生主动学习的动力;–培养学生解决问题的能力和创新思维,提高学生面对挑战的勇气;–培养学生团队合作的精神,增强学生沟通协作的能力。

二、教学内容根据教学目标,本章节的教学内容主要包括以下几个方面:1.Java编程语言的基本语法和结构;2.Java中的数据类型、运算符、控制语句、数组、字符串等基本概念;3.Java面向对象编程的基本概念,如类、对象、封装、继承和多态;4.Java编程语言的常用API和库;5.Java编程语言的编程规范和最佳实践。

三、教学方法为了达到本章节的教学目标,将采用以下几种教学方法:1.讲授法:通过讲解和示例,让学生掌握Java编程语言的基本语法和概念;2.讨论法:通过小组讨论和问题解答,培养学生的思考能力和问题解决能力;3.案例分析法:通过分析实际案例,让学生了解Java编程语言在实际应用中的使用;4.实验法:通过编写和调试Java程序,让学生掌握Java编程技巧和调试方法。

四、教学资源为了支持本章节的教学内容和教学方法的实施,将选择和准备以下教学资源:1.教材:Java编程语言的经典教材,用于引导学生学习和理解基本概念;2.参考书:提供额外的学习资料和实践案例,帮助学生深入掌握Java 编程语言;3.多媒体资料:通过视频教程和在线课程,提供直观的学习资源,帮助学生更好地理解Java编程语言;4.实验设备:提供计算机和编程环境,让学生能够进行实际编程练习和调试。

java实验报告

java实验报告

java实验报告Java 实验报告一、实验目的本次 Java 实验旨在深入了解和掌握 Java 编程语言的基本概念、语法结构以及编程思想。

通过实际的编程实践,提高解决问题的能力,培养良好的编程习惯,并对 Java 面向对象编程的特性有更直观的认识和理解。

二、实验环境1、操作系统:Windows 102、开发工具:Eclipse IDE for Java Developers3、 JDK 版本:JDK 18三、实验内容(一)基本数据类型与控制结构1、编写程序,声明不同的基本数据类型变量,如整数型(int、long)、浮点型(float、double)、字符型(char)和布尔型(boolean),并进行赋值和输出操作。

```javapublic class DataTypeExample {public static void main(String args) {int intNumber = 10;long longNumber = 100L;float floatNumber = 314f;double doubleNumber = 314159;char charCharacter ='A';boolean booleanValue = true;Systemoutprintln("整数型:"+ intNumber);Systemoutprintln("长整型:"+ longNumber);Systemoutprintln("浮点型:"+ floatNumber);Systemoutprintln("双精度浮点型:"+ doubleNumber);Systemoutprintln("字符型:"+ charCharacter);Systemoutprintln("布尔型:"+ booleanValue);}}```2、运用条件判断语句(ifelse、switch)和循环结构(for、while、dowhile)实现简单的逻辑控制。

JAVA实验报告

JAVA实验报告

JAVA实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解 Java 语言的基本语法、面向对象编程的概念以及常用类库的使用。

同时,培养自己解决实际问题的能力,提高编程的熟练程度和代码质量。

二、实验环境操作系统:Windows 10开发工具:EclipseJDK 版本:18三、实验内容及步骤(一)基本语法练习1、数据类型与变量定义不同类型的变量,如整数型(int)、浮点数型(float、double)、字符型(char)和字符串型(String),并进行赋值和输出操作。

了解不同数据类型的取值范围和精度,以及在实际编程中的应用场景。

2、控制结构编写使用 ifelse 语句、switch 语句进行条件判断的程序。

运用 for 循环、while 循环和 dowhile 循环实现重复执行的操作。

3、数组与字符串声明和初始化一维数组和二维数组,对数组元素进行访问和操作。

进行字符串的拼接、截取、查找等常见操作。

(二)面向对象编程实践1、类与对象定义一个简单的类,包含属性和方法。

创建该类的对象,并调用对象的方法来操作属性。

2、继承与多态建立父类和子类,实现继承关系。

在子类中重写父类的方法,展示多态性。

3、封装与抽象将类的属性设置为私有,并提供公共的访问方法(getter 和 setter),实现封装。

定义抽象类和抽象方法,体会抽象的概念和作用。

(三)常用类库的使用1、 Java 输入输出(IO)使用 Scanner 类实现从控制台读取用户输入的数据。

运用 File 类和相关的输入输出流类,实现文件的读取和写入操作。

2、集合框架熟悉 ArrayList、LinkedList 等线性集合的使用方法。

了解 HashSet、TreeSet 等集合的特点和应用场景。

3、异常处理在程序中加入可能引发异常的代码段,并使用 trycatch 语句捕获和处理异常。

四、实验结果与分析(一)基本语法练习1、数据类型与变量成功定义了各种数据类型的变量,并正确进行了赋值和输出。

java实训报告(7篇)

java实训报告(7篇)

java实训报告java实训报告(7篇)随着社会一步步向前发展,报告的使用成为日常生活的常态,其在写作上有一定的技巧。

一听到写报告马上头昏脑涨?以下是小编收集整理的java实训报告,仅供参考,希望能够帮助到大家。

java实训报告1内蒙古商贸职业学院计算机系学生校内实验实训报告20 --20 学年第学期系部:计算机系课程名称:Java程序设计教程专业班级:内蒙古商贸职业学院计算机系制填写说明1、实验项目名称:要用最简练的语言反映实验的内容,要与实验指导书或课程标准中相一致。

2、实验类型:一般需要说明是验证型实验、设计型实验、创新型实验、综合型实验。

3、实验室:实验实训场所的名称;组别:实验分组参加人员所在的组号。

4、实验方案设计(步骤):实验项目的设计思路、步骤和方法等,这是实验报告极其重要的内容,概括整个实验过程。

对于操作型实验(验证型),要写明需要经过哪几个步骤来实现其操作。

对于设计型和综合型实验,在上述内容基础上还应该画出流程图和设计方法,再配以相应的文字说明。

对于创新型实验,还应注明其创新点、特色。

5、实验小结:对本次实验实训的心得体会、思考和建议等。

6、备注:分组实验中组内成员分工、任务以及其他说明事项。

注意:①实验实训分组完成的,每组提交一份报告即可,但必须说明人员分工及职责。

不分组要求全体成员独立完成的实验实训项目可由指导老师根据个人完成情况分组填写。

②实验成绩按照百分制记,根据教学大纲及课程考核要求具体区分独立计算、折算记入两种情况。

③本实验实训报告是根据计算机系实验的具体情况在学院教务处制的实验实训报告的基础上进行改制的。

特此说明。

成绩单组别:小组成员:篇二:实训总结实训收获总结报告学部:计算机信息学院学科门类:计算机信息类专业:计算机应用技术姓名:朱恩林学号:12310020020实习单位:北京盛威南凌信息科技有限公司指导教师:王洪钊实习时间:20xx年5月15号—9月23号一、实训目的计算机信息管理专业的java实训在教学计划中是实训、实习课程。

java课程设计实验报告

java课程设计实验报告

java课程设计实验报告Java课程设计实验报告。

一、实验目的。

本次实验旨在通过设计一个简单的Java程序,加深对Java语言的理解和应用,同时锻炼学生的编程能力和解决问题的能力。

二、实验内容。

本次实验要求设计一个简单的学生成绩管理系统,实现对学生成绩的录入、查询、修改和删除等功能。

具体要求如下:1. 设计一个学生类,包括学生的基本信息(学号、姓名、性别等)和成绩信息(语文、数学、英语等科目成绩)。

2. 实现学生成绩的录入功能,可以一次性录入多个学生的成绩信息。

3. 实现学生成绩的查询功能,可以根据学号或姓名查询学生的成绩信息。

4. 实现学生成绩的修改功能,可以修改指定学生的成绩信息。

5. 实现学生成绩的删除功能,可以删除指定学生的成绩信息。

三、实验设计。

在本次实验中,我首先设计了一个学生类,包括学号、姓名、性别和成绩等属性,并提供了相应的构造方法和get、set方法。

然后,我设计了一个学生成绩管理系统的主类,其中包括录入、查询、修改和删除等功能的实现。

在录入功能中,我使用Scanner类实现了从控制台输入学生信息的功能,并将学生信息保存到一个ArrayList中。

在查询功能中,我通过学号或姓名遍历ArrayList,找到相应的学生信息并输出。

在修改功能中,我同样通过遍历ArrayList找到指定学生信息,并提供修改选项,用户可以选择要修改的成绩信息进行修改。

在删除功能中,我也是通过遍历ArrayList找到指定学生信息,并进行删除操作。

四、实验结果。

经过一系列的调试和测试,我成功实现了学生成绩管理系统的设计要求。

用户可以通过简单的命令行界面,实现学生成绩的录入、查询、修改和删除等功能。

系统运行稳定,操作简单,符合设计要求。

五、实验总结。

通过本次实验,我对Java语言的面向对象编程有了更深入的理解,掌握了ArrayList的使用方法,提高了编程能力和问题解决能力。

同时,通过设计一个实用的学生成绩管理系统,我也加深了对Java语言的应用和实践,为以后的学习和工作打下了坚实的基础。

JAVA实训报告模板(共6篇)

JAVA实训报告模板(共6篇)

篇一:java项目实训报告模板实训报告书课程: java项目实训专业班级:学生姓名:学号:指导教师:完成日期:重庆电子工程职业学院软件学院目录目录 ............................................................................. .................................................i 1 实训目的 ............................................................................. ......................................... 1 2 游戏xxx系统的分析与设计 ............................................................................. .. (1)2.1 系统功能描述 ............................................................................. ...................... 1 2.2 系统模块设计 ............................................................................. ...................... 1 3主要代码清单 ............................................................................. ................................... 1 4 程序运行与测试 ............................................................................. ............................. 1 5 实训总结 ............................................................................. (1)xxx项目实训1 实训目的《java项目实训》是计算机专业一门重要的专业技术基础实践课程。

java课程实验报告

java课程实验报告

java课程实验报告Java 课程实验报告一、实验目的通过本次实验,深入理解和掌握 Java 编程语言的基本概念、语法和编程技巧,提高解决实际问题的能力,培养良好的编程习惯和逻辑思维能力。

二、实验环境操作系统:Windows 10开发工具:EclipseJDK 版本:18三、实验内容本次实验主要包括以下几个部分:1、基础语法练习变量与数据类型的使用控制流语句(如 ifelse、for、while 等)的应用数组和字符串的操作2、面向对象编程类与对象的定义和使用成员变量和方法的访问控制构造函数和析构函数的理解3、异常处理捕获和处理常见的运行时异常自定义异常的创建和抛出4、文件操作读取和写入文本文件处理文件中的数据四、实验步骤及结果1、基础语法练习变量与数据类型:在代码中定义了各种类型的变量,如整数、浮点数、字符、字符串等,并进行了简单的运算和输出。

例如:```javaint num = 10;double price = 125;char letter ='A';String name ="张三";Systemoutprintln(num +""+ price +""+ letter +""+name);```控制流语句:使用 ifelse 语句判断一个数的奇偶性,使用 for 循环计算 1 到 100 的和,使用 while 循环实现用户输入次数的控制。

以下是判断奇偶性的代码示例:```javaint num = 15;if (num % 2 == 0) {Systemoutprintln(num +"是偶数");} else {Systemoutprintln(num +"是奇数");}```数组和字符串:创建了整数数组和字符串,并进行了遍历、查找、修改等操作。

例如:```javaint arr ={1, 2, 3, 4, 5};for (int i = 0; i < arrlength; i++){Systemoutprint(arri +"");}String str ="Hello Java";Systemoutprintln(strcharAt(2));```2、面向对象编程类与对象:定义了一个名为`Person` 的类,包含姓名、年龄等成员变量和一个介绍自己的方法。

java实验报告-

java实验报告-

java实验报告-Java 实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解和掌握Java 语言的基本语法、面向对象编程的概念以及常用类库的使用方法。

同时,培养自己的编程思维和解决实际问题的能力。

二、实验环境操作系统:Windows 10开发工具:IntelliJ IDEAJDK 版本:18三、实验内容及步骤(一)实验题目 1:简单的 Java 程序设计1、题目描述编写一个 Java 程序,实现输出“Hello, World!”。

2、实验步骤(1)打开 IntelliJ IDEA 开发工具,创建一个新的 Java 项目。

(2)在项目中创建一个新的 Java 类,命名为“HelloWorld”。

(3)在“HelloWorld”类中编写以下代码:```javapublic class HelloWorld {public static void main(String args) {Systemoutprintln("Hello, World!");}}```(4)运行程序,查看控制台输出结果。

(二)实验题目 2:数据类型与变量1、题目描述定义不同数据类型的变量,并进行赋值和运算操作。

2、实验步骤(1)在同一个 Java 项目中创建一个新的 Java 类,命名为“DataTypeAndVariable”。

(2)在“DataTypeAndVariable”类中编写以下代码:```javapublic class DataTypeAndVariable {public static void main(String args) {int num1 = 10;int num2 = 20;int sum = num1 + num2;double price = 125;String name ="张三";boolean isTrue = true;Systemoutprintln("num1 + num2 ="+ sum);Systemoutprintln("价格:"+ price);Systemoutprintln("姓名:"+ name);Systemoutprintln("是否为真:"+ isTrue);}}```(3)运行程序,查看控制台输出结果。

java实验报告

java实验报告

java实验报告java实验报告在人们越来越注重自身素养的今天,报告的使用频率呈上升趋势,报告根据用途的不同也有着不同的类型。

那么,报告到底怎么写才合适呢?下面是小编帮大家整理的java实验报告,欢迎阅读,希望大家能够喜欢。

java实验报告1此次只实习了短短的三周。

虽说时间很短,但其中的每一天都使我收获很大、受益匪浅,它不但极大地加深了我对一些理论知识的理解,不仅使我在理论上对Java有了全新的认识,在实践能力上也得到了提高,真正地做到了学以致用,更学到了很多做人的道理,对我来说受益匪浅。

除此以外,我知道了什么叫团队,怎样和团队分工合作;同时我还学会了如何更好地与别人沟通,如何更好地去陈述自己的观点,如何说服别人认同自己的观点。

这也是第一次让我亲身感受到理论与实际的相结合,让我大开眼界。

也是对以前所学知识的一个初审吧!这次实习对于我以后学习、找工作也是受益匪浅的,在短短的三周中相信这些宝贵的经验会成为我今后成功的重要的基石;这对于我的学业,乃至我以后人生的影响无疑是极其深远的。

这次实习虽然是我们的第一次,不过同学们表现不错,由此看来,我们在进入大学的这几个月里学到了不少的专业知识,只是自己感觉不到而已。

对于所学专业,我们不能过于自卑和担忧,否则会妨碍自己学习。

实习是学习Java的重要环节,有利于我们巩固专业知识、掌握工作技能,提高就业筹码。

我把本次为期三周的实习看作是“理论与实践相结合的桥梁”。

通过这周的实习和学习,我知道了此次实习的目的,也清楚目前自己的不足,那就是缺乏相应的知识与经验,对所学的专业知识不能够很好地运用于实践操作。

正所谓“百闻不如一见”,经过这次自身的切身实践,我才深切地理会到了“走出课堂,投身实践”的必要性。

平时,我们只能在课堂上与老师一起纸上谈兵,思维的认识基本上只是局限于课本的范围之内,也许就是这个原因就导致我们对专业知识认识的片面性,使得我们只知所以然,而不知其之所以然!限制了我们网络知识水平的提高。

java课程设计实训总报告

java课程设计实训总报告

java课程设计实训总报告一、教学目标本课程的教学目标是使学生掌握Java编程语言的基本语法、编程技巧和相关概念,培养学生具备基本的编程能力和软件开发思维,提高学生解决实际问题的能力。

1.掌握Java的基本语法和数据结构;2.了解Java的面向对象编程思想;3.熟悉Java的常用类库和API;4.掌握Java的异常处理和文件操作。

5.能够使用Java编写简单的程序;6.能够运用面向对象编程思想解决实际问题;7.能够使用Java开发小型软件项目。

情感态度价值观目标:1.培养学生对编程语言的兴趣和热情;2.培养学生独立思考、解决问题的能力;3.培养学生团队协作、沟通交流的能力。

二、教学内容根据课程目标,教学内容主要包括Java基本语法、数据结构、面向对象编程、常用类库和API、异常处理、文件操作等方面的知识。

具体安排如下:1.Java基本语法和数据结构:介绍Java的基本数据类型、运算符、控制语句、数组、字符串等;2.面向对象编程:讲解类的定义、构造方法、成员变量、成员方法、继承、多态、接口等概念;3.常用类库和API:介绍Java标准类库中的常用类,如ng、java.util、java.io等;4.异常处理:讲解异常的概念、类型、处理方法,以及如何使用try-catch语句进行异常处理;5.文件操作:讲解文件和文件系统的概念,以及如何使用Java进行文件读写操作。

三、教学方法本课程采用多种教学方法,包括讲授法、讨论法、案例分析法、实验法等,以激发学生的学习兴趣和主动性。

1.讲授法:用于讲解基本概念、语法和原理,使学生掌握基础知识;2.讨论法:学生进行小组讨论,培养学生的思考能力和团队协作精神;3.案例分析法:通过分析实际案例,使学生了解Java在实际项目中的应用;4.实验法:安排实验课程,让学生动手编写代码,提高学生的实际编程能力。

四、教学资源本课程所需教学资源包括教材、参考书、多媒体资料、实验设备等。

java课程设计设计实验报告

java课程设计设计实验报告

java课程设计设计实验报告一、教学目标本课程旨在通过Java编程语言的学习,让学生掌握Java编程的基本语法、流程控制、数据结构、面向对象编程等基本知识,培养学生运用Java语言解决实际问题的能力。

具体目标如下:1.知识目标:(1)理解Java编程语言的基本语法和编程规范;(2)掌握Java中的基本数据类型、运算符、表达式;(3)了解Java的流程控制语句,如if、for、while等;(4)熟悉Java数组、字符串、集合等数据结构的使用;(5)理解面向对象编程的基本概念,如类、对象、封装、继承、多态等;(6)掌握Java异常处理机制和文件操作。

2.技能目标:(1)能够使用Java编写简单的程序,实现基本的功能;(2)能够运用面向对象编程思想,设计并实现具有一定复杂度的程序;(3)具备阅读Java代码的能力,能够理解并修改他人编写的程序;(4)掌握使用Java开发工具,如Eclipse、IntelliJ IDEA等;(5)了解Java程序的调试和性能优化方法。

3.情感态度价值观目标:(1)培养学生对编程语言的兴趣,激发学生主动学习的动力;(2)培养学生团队合作精神,提高学生沟通协作能力;(3)培养学生面对挑战、解决问题的信心和勇气;(4)培养学生具有良好的代码规范和编程习惯。

二、教学内容本课程的教学内容主要包括Java编程语言的基本语法、流程控制、数据结构、面向对象编程等。

具体安排如下:1.第一章:Java入门,介绍Java编程语言的基本概念、环境搭建和基本语法;2.第二章:基本数据类型和运算符,学习Java中的整数、浮点数、字符、布尔等数据类型以及运算符;3.第三章:流程控制语句,学习if、for、while等流程控制语句的使用;4.第四章:数组和字符串,学习数组的声明、初始化和使用,字符串的创建、操作和转换;5.第五章:集合框架,学习List、Set、Map等集合接口及其实现类的使用;6.第六章:面向对象编程,学习类、对象、封装、继承、多态等概念及应用;7.第七章:异常处理和文件操作,学习Java异常处理机制和文件读写方法;8.第八章:Java编程实践,通过案例分析法和实验法,巩固所学知识,提高实际编程能力。

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

《Java语言程序设计》综合实验报告系别: 计算机科学与技术系学科专业: 信息管理与信息系统课题题目:qq聊天系统人员及分工:白娟()张丹()张富利()指导老师:卢照2014年6月13日目录一、课程设计目的.......................................... 错误!未定义书签。

二、课程内容.................................................. 错误!未定义书签。

三、实现代码(部分重要代码,不需要全粘)错误!未定义书签。

1.服务器: .................................................... 错误!未定义书签。

2.客户端: .................................................... 错误!未定义书签。

3.功能实现: ................................................ 错误!未定义书签。

4.图形化界面的转换: ................................ 错误!未定义书签。

5.连接数据库代码: ................................... 错误!未定义书签。

四、运行结果(有必要的截图).................. 错误!未定义书签。

1. 服务器启动: ........................................ 错误!未定义书签。

2. 客户端启动: ........................................ 错误!未定义书签。

3. 登入界面: ............................................ 错误!未定义书签。

4. 好友列表: ............................................ 错误!未定义书签。

5. 聊天界面: ............................................ 错误!未定义书签。

6. 数据库信息: ........................................ 错误!未定义书签。

五、课程总结.................................................. 错误!未定义书签。

六、小组分工.................................................. 错误!未定义书签。

一、课程设计目的运用本学期java课程所学知识制作一个小型的比较完整的小系统,旨在使学生对所学知识有一个整体的运用,了解java功能的强大,对学习java产生兴趣。

二、课程内容基本页面:登入页面,注册页面,好友列表页面,聊天页面,查询好友界面基本功能:注册信息,添加好友,查找好友,聊天三、实现代码(部分重要代码,不需要全粘)1.服务器代码:package com.sram.server;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.OutputStream;import java.io.PrintStream;import .ServerSocket;import .Socket;import java.util.HashMap;import java.util.List;import java.util.Map;import er;import erDao;public class Server {public static Map socketMap = new HashMap();public static void main(String[] args) {try {ServerSocket ss = new ServerSocket(20001);System.out.println("服务器已启动,准备接收数据");while(true){Socket soc = ss.accept();ServerSocketThread sst = new ServerSocketThread(soc);Thread thr = new Thread(sst);thr.start();}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}class ServerSocketThread implements Runnable{private Socket soc;public ServerSocketThread(Socket soc){this.soc = soc;}public void run() {System.out.println("接受到数据");UserDao ud = new UserDao();try {BufferedReader br = new BufferedReader(new InputStreamReader(soc.getInputStream()));String str = "";while((str = br.readLine())!= null){String[] strs = str.split(",");//1代表if(strs[0].equals("1")){String qq = strs[1];String pass = strs[2];User u = ud.findUser(qq, pass);OutputStream os = soc.getOutputStream();PrintStream ps = new PrintStream(os);if(u!=null){System.out.println("登陆成功");Server.socketMap.put(u.getQqNum(),soc);ps.println("1,yes,"+u.getNickName());ps.flush();List<User> li = ud.FriendList(u);li.add(u);ObjectOutputStream oos = new ObjectOutputStream(soc.getOutputStream());oos.writeObject(li);oos.flush();1 1}else{System.out.println("登陆失败");ps.println("1,no");}}if(strs[0].equals("2")){ObjectInputStream ois = new ObjectInputStream(soc.getInputStream());try {User u = (User) ois.readObject();String qqnum = ud.insertUser(u);OutputStream os = soc.getOutputStream();PrintStream ps = new PrintStream(os);ps.println("2,ok,"+qqnum);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if(strs[0].equals("3")){String friendNum = strs[1];String userNum = strs[2];String message = strs[3];System.out.println("好友号码:"+friendNum+",用户号码:"+userNum+",信息:"+message);Socket friendSoc = (Socket) Server.socketMap.get(friendNum);PrintStream ps = new PrintStream(friendSoc.getOutputStream());ps.println(str);ps.flush();}if(strs[0].equals("4")){String qqnum = strs[1];User nu = ud.findUserfromQQ(qqnum);OutputStream os = soc.getOutputStream();PrintStream ps = new PrintStream(os);if(nu!=null){ps.println("4,ok");ps.flush();ObjectOutputStream oos = new ObjectOutputStream(soc.getOutputStream());oos.writeObject(nu);oos.flush();}else{ps.println("4,no");ps.flush();}}if(strs[0].equals("5")){String qqnum = strs[1];ObjectInputStream ois = new ObjectInputStream(soc.getInputStream());User u = (User) ois.readObject();User nu = ud.findUserfromQQ(qqnum);ud.addFriend(u.getId(), nu.getId());OutputStream os = soc.getOutputStream();PrintStream ps = new PrintStream(os);ps.println("5,ok,"+u.getQqNum()+","+u.getPass());ps.flush();}}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}2.客户端:package com.sram.client;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;1 3import .Socket;import java.util.List;import er;import com.sram.util.MessageIO;import com.sram.view.ChatUI;import com.sram.view.FriendListUI;import com.sram.view.LoginUI;import com.sram.view.RegisterSuccessUI;import com.sram.view.SearchFriendUI;import com.sram.view.UIList;public class Client {public static Socket soc;public static void main(String[] args) {LoginUI lu = new LoginUI();UIList.UIlist.put("login", lu);ClientThread ct = new ClientThread();new Thread(ct).start();}}class ClientThread implements Runnable{public void run(){try {BufferedReader br = new BufferedReader(new InputStreamReader(Client.soc.getInputStream()));String str = "";while((str = br.readLine())!=null){String[] strs = str.split(",");if(strs[0].equals("1")){if(strs[1].equals("yes")){List<User> li = (List<User>) MessageIO.getObject();FriendListUI fui = new FriendListUI(li);UIList.UIlist.put("friend", fui);UIList.UIlist.get("login").setVisible(false);}}if(strs[0].equals("2")){if(strs[1].equals("ok")){UIList.UIlist.get("register").setVisible(false);//UIList.UIlist.get("login").setVisible(true);new RegisterSuccessUI(strs[2]);}}if(strs[0].equals("3")){ChatUI cu = (ChatUI)UIList.UIlist.get("chatui");cu.jta1.setText(strs[3]);}if(strs[0].equals("4")){SearchFriendUI sfui = (SearchFriendUI) UIList.UIlist.get("search");if(strs[1].equals("ok")){User u = (User)MessageIO.getObject();sfui.jl2.setText(u.getNickName());}else{sfui.jl2.setText("QQ号码错误");}}1 5if(strs[0].equals("5")){if(strs[1].equals("ok")){UIList.UIlist.get("friend").setVisible(false);String qq = strs[2];String pass = strs[3];MessageIO.printlnString("1,"+qq+","+pass);}}}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}3.数据库的连接以及实现功能package com.sram.util;public class MessageIO {private static Socket soc;public MessageIO(Socket soc){this.soc = soc;}public static void printlnString(String messege){try {PrintStream ps = newPrintStream(soc.getOutputStream());ps.println(messege);ps.flush();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void printObject(Object obj){OutputStream os;try {os = soc.getOutputStream();ObjectOutputStream oos = new ObjectOutputStream(os);oos.writeObject(obj);oos.flush();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}package com.sram.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import er;import com.sram.util.GetConnection;public class UserDao {public User findUser(String name,String pass){Connection conn = null;Statement stmt = null;1 7ResultSet rs = null;try {conn = GetConnection.getConnection();stmt = conn.createStatement();rs = stmt.executeQuery("select * from t_user where qqnum='"+name+"' and password='"+pass+"'");rs.next();User u = new User();u.setId(rs.getInt("id"));u.setNickName(rs.getString("nickname"));u.setPass(rs.getString("password"));u.setQqNum(rs.getString("qqnum"));return u;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {if(rs!=null){rs.close();}if(stmt!=null){stmt.close();}if(conn!=null){conn.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return null;}public String insertUser(User u){Connection conn = null;PreparedStatement ptmt = null;ResultSet rs = null;String qqnum = null;try {conn = GetConnection.getConnection();ptmt = conn.prepareStatement("insert into t_user (qqnum,nickname,password) values(?,?,?)");int i = findLastId();qqnum = (20000+i+1)+"";ptmt.setString(1,qqnum);ptmt.setString(2, u.getNickName());ptmt.setString(3, u.getPass());boolean b = ptmt.execute();System.out.println(b);return qqnum;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {if(rs!=null){rs.close();}if(ptmt!=null){ptmt.close();}if(conn!=null){conn.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();1 9}}return qqnum;}public int findLastId(){Connection conn = null;Statement stmt = null;ResultSet rs = null;try {conn = GetConnection.getConnection();stmt = conn.createStatement();rs = stmt.executeQuery("select id from t_user order by id desc limit 1");if(rs.next()){return rs.getInt("id");}else{return 0;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {if(rs!=null){rs.close();}if(stmt!=null){stmt.close();}if(conn!=null){conn.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return 0;}public List<User> FriendList(User u){Connection conn = null;Statement stmt = null;ResultSet rs = null;try {conn = GetConnection.getConnection();stmt = conn.createStatement();int id = u.getId();List<User> li = new ArrayList<User>();rs = stmt.executeQuery("select id,qqnum,nickname from t_user where id in(select friendnum from t_friend where mynum = "+id+")");while(rs.next()){User nu = new User();nu.setId(rs.getInt("id"));nu.setQqNum(rs.getString("qqnum"));nu.setNickName(rs.getString("nickname"));li.add(nu);}return li;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{1 11try {if(rs!=null){rs.close();}if(stmt!=null){stmt.close();}if(conn!=null){conn.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return null;}public User findUserfromQQ(String qqnum){Connection conn = null;Statement stmt = null;ResultSet rs = null;try {conn = GetConnection.getConnection();stmt = conn.createStatement();rs = stmt.executeQuery("select * from t_user where qqnum = "+qqnum);User nu = new User();while(rs.next()){nu.setId(rs.getInt("id"));nu.setQqNum(rs.getString("qqnum"));nu.setNickName(rs.getString("nickname"));}return nu;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {if(rs!=null){rs.close();}if(stmt!=null){stmt.close();}if(conn!=null){conn.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return null;}public void addFriend(int myId,int friendId){Connection conn = null;PreparedStatement ptmt = null;ResultSet rs = null;String qqnum = null;try {conn = GetConnection.getConnection();ptmt = conn.prepareStatement("insert into t_friend (mynum,friendnum) values(?,?)");ptmt.setInt(1, myId);1 13ptmt.setInt(2, friendId);ptmt.execute();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {if(rs!=null){rs.close();}if(ptmt!=null){ptmt.close();}if(conn!=null){conn.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}四、运行结果(有必要的截图)三、登入界面:四、好友列表页面:五、查找以及添加好友页面:六、用户注册页面:七、聊天页面:1 15八、数据库信息:五、课程总结在此次项目中,我们用到了Swing图形化用户界面,Socket通信机制以及JDBC,还有IO流,在实验过程中,我们认为Client和Server端服务程序设计比较困难,很长时间都没有调试出来,通过请教同学以及查阅资料得以解决。

相关文档
最新文档