-
2021-02-12 17:59:39
Java程序设计_大作业.doc
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 findAll(String keyword) throws Exception;
public List 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();
}
@Override
public boolean doCreate(Publisher publisher) throws Exception {
boolean flag=false;
PreparedStatement pstmt=null;
ResultSet rs=null;
String sql="INSERT INTO Publisher(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.execute
更多相关内容 -
上海交大网络面向对象程序设计Java第一、二、三次作业答案编程资料
2022-03-25 23:14:10上海交大网络面向对象程序设计Java第一、二、三次作业答案 -
Java网络编程 多功能QQ 课程设计
2012-06-14 19:04:08Java网络编程 多功能QQ 课程设计 报告书 任务书 源代码 源程序 -
Java课程大作业设计:实现联网对战、实时聊天、多线程编程的五子棋项目
2022-05-09 21:15:29本项目是笔者和同学大二下Java课的时候的课程设计...通过该项目,可以学会并熟悉Java界面设计、网络编程、五子棋逻辑代码实现、异常处理、多线程编程、输入输出流控制等等Java基础技术。全部代码及展示PPT在文章最后前言
本项目是笔者和同学大二下Java课的时候的课程设计项目,该五子棋游戏的客户端可以实现联网对战、实时聊天、自定义昵称、对在线玩家并发出对战邀请、悔棋、撤回聊天消息、逃跑等多种功能,而服务端可以看到在线玩家列表、配对玩家列表、玩家实时上线下线等功能。总的来说,功能比较齐全,代码中也有详细注解思路,是非常不错的新手入门项目。
通过该项目,可以学会并熟悉Java界面设计、网络编程、五子棋逻辑代码实现、异常处理、多线程编程、输入输出流控制等等Java基础技术。
本项目一共分为客户端和服务器端,一般来说是一台机子作为服务器,另外两台作为客户端,服务端可以对客户端进行玩家处理等等,还有用于展示的答辩PPT也会一同发出来。可以直接拿去作为课程作业。(网盘链接在文章最后)
最终的课程展示PPT与全套代码的网盘链接将放在本文的最后一部分!
如下图所示,分别是客户端的对战界面与代码中的详细注释。
项目展示
1、界面展示
这是客户端运行后的界面,可以自行查看当前登录服务器之后的全部在线用户,并发出挑战申请。
服务端可以看到在线的玩家列表,并看到匹配列表。
2、运行展示
代码讲解
客户端一共有6类包:
服务器端一共有5类包:
1、客户端UI设计代码
客户端整体界面采用BorderLayout的布局:通过读取绝对路径来获取图片,由于需要频繁读getAbsolutePath返回值,因此我们封装了getSourcePath方法简化代码。
异常处理:获取图片的过程中使用了异常处理。若不能够获取图片,则抛出异常,后通过“手动画图”方式处理异常。
2、客户端实现socket联网代码
3、输入输出流
4、重构线程run()代码
5、聊天功能实现
课程设计总结及百度云盘链接
最难的部分主要用到Socket网络编程和网络传输协议。将各种用户操作请求和聊天信息通过字符消息包装和区分,而后在服务端来判断和解析不同的请求。
服务端将所有客户端存在Map集合里,将玩家配对信息存在另外的map集合,以此来管理配对玩家之间的游戏互动。大致原理就是用一个HashMapManager来管理,当客户端发来请求,服务端先根据客户端id检索客户端是否已经存在配对列表里,如果有,找到与之配对的玩家,并将客户端发来的请求解析后将消息发给与之对应的客户端,达到交互的功能。
百度网盘链接如下:
链接:https://pan.baidu.com/s/1coPhaRT3LmHEcB_OOMZgSw?pwd=2kql
提取码:2kql -
计算机网络课程设计 多线程端口扫描器(TCP/UDP端口扫描)(java实现)带GUI界面
2020-07-10 21:04:01计算机网络课程设计——端口扫描器的实现 1.利用Socket通信机制实现一个多线程的端口扫描器。 2.设计要求: 2.1用户界面:用户可以输入IP地址或IP地址段;...2.3 采用Java网络编程包java.io中提供的编程接口实现。 -
java大作业设计报告JAVA聊天室.docx
2020-11-19 19:08:58设计目的 Java 编程语言是个简单面向对象分布式解释性健壮安全与系统 无关可移植高性能多线程和静态的语言本次课程设计旨在应用 JAVA编程语言中的网络通信 多线程数据库编程 图形界面编程等技术实现一个基本的多人... -
java期末大作业(最简单的系统)
2021-12-25 20:22:24因为西安疫情的原因,我们很多考试都已经取消了,没有办法进行线下的考试,就连java程序设计也成了线上的考试。第一次写博客,就想着和大家一起交流,因为是初学者,很多地方也有做的不好的地方,请大家多多指教。...因为西安疫情的原因,我们很多考试都已经取消了,没有办法进行线下的考试,就连java程序设计也成了线上的考试。第一次写博客,就想着和大家一起交流,因为是初学者,很多地方也有做的不好的地方,请大家多多指教。顺便提一句,西安加油。
好了废话不多说,直接给大家贴上代码:
1,学生信息管理系统(这个应该大家写的最多的了,我给大家贴上):
(1),首先就是学生类:
public class Student { private String name; // 姓名 private String sex; // 性别 private String nativePlace; // 籍贯 private String collage; // 学院 private String number; // 学号 public Student(String name, String sex, String nativePlace, String collage, String number) { this.name = name; this.sex = sex; this.nativePlace = nativePlace; this.collage = collage; this.number = number; } public void setName(String name) { this.name = name; } public void setSex(String sex) { this.sex = sex; } public void setNativePlace(String nativePlace) { this.nativePlace = nativePlace; } public void setCollage(String collage) { this.collage = collage; } public void setNumber(String number) { this.number = number; } // 需要统计籍贯为陕西的人数,男生女生人数,每个学院的人数 public String getSex() { return this.sex; } public String getNativePlace() { return this.nativePlace; } public String getCollage() { return this.collage; } // 获取学生的学号 public String getNumber() { return this.number; } public String getName() { return this.name; } }
(2),学生类的测试类(我是基于集合进行存储和操作,如果有更好的方法,欢迎大家一起讨论)
import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class StudentTest { public static void main(String[] args) { List<Student> list = new ArrayList<Student>(); System.out.println("输入学生人数:"); int num = new Scanner(System.in).nextInt(); mainMenu(list, num); } // 主界面方法 public static void mainMenu(List<Student> list, int num) { while (true) { System.out.println("==================="); System.out.println("1,添加学生信息"); System.out.println("2,修改学生信息"); System.out.println("3,删除学生信息"); System.out.println("4,统计各学院以及男女生的人数"); System.out.println("5,根据学号查找学生信息"); System.out.println("6,退出"); System.out.println("===================="); System.out.println("欢迎使用,选择您想进行的操作序号:"); String no = new Scanner(System.in).nextLine(); switch (no) { case "1": insert(list, num); insertStudentMessageToFile(list); break; case "2": upDateStudentMessage(list, num); insertStudentMessageToFile(list); break; case "3": deleteStudentMessage(list, num); insertStudentMessageToFile(list); break; case "4": getStudentNumber(list, num); break; case "5": findStudentMessgae(list,num); break; case "6": System.out.println("谢谢使用,再见"); System.exit(0); default: System.out.println("只能输入1-5的序号,您输入有误"); } } } // 添加学生信息; public static void insert(List<Student> list, int num) { for (int i = 0; i < num; i++) { System.out.println("输入第" + (i+1) + "个学生的姓名:"); String name = new Scanner(System.in).nextLine(); System.out.println("输入第" + (i+1) + "个学生的学号:"); String number = new Scanner(System.in).nextLine(); System.out.println("输入第" + (i+1) + "个学生的性别:"); String sex = new Scanner(System.in).nextLine(); System.out.println("输入第" + (i+1) + "个学生的籍贯:"); String nativePlace = new Scanner(System.in).nextLine(); System.out.println("输入第" + (i+1) + "个学生的所在学院:"); String collage = new Scanner(System.in).nextLine(); Student stu = new Student(name, sex, nativePlace, collage, number); list.add(stu); } } // 统计籍贯为陕西的学生人数,以及男女生学生的人数 public static void getStudentNumber(List<Student> list, int num) { if (list.size() == 0) { System.out.println("还没有输入学生信息"); // 没有学生信息退出系统 System.exit(0); } int sxCount = 0, manCount = 0, womenCount = 0, computerCollega = 0, jidianCollega = 0; for (int i = 0; i < num; i++) { if (list.get(i).getNativePlace().equals("陕西省") || list.get(i).getNativePlace().equals("陕西")) { sxCount++; } if (list.get(i).getSex().equals("男") || list.get(i).getSex().equals("男生")) { manCount++; } else { womenCount++; } if (list.get(i).getCollage().equals("计算机学院") || list.get(i).getCollage().equals("计算机")) { computerCollega++; } if (list.get(i).getCollage().equals("机电学院") || list.get(i).getCollage().equals("机电")) { jidianCollega++; } } System.out.println("籍贯为陕西的人数为:" + sxCount); System.out.println("男生人数为:" + manCount); System.out.println("女生人数为:" + womenCount); System.out.println("机电学员人数为:" + jidianCollega); System.out.println("计算机学院人数为:" + computerCollega); } // 根据学号查询学生信息 public static void findStudentMessgae(List<Student> list, int num) { if (list.size() == 0) { System.out.println("还没有输入学生信息"); // 没有学生信息退出系统 System.exit(0); } System.out.println("输入查询的学生的学号:"); String studentNumber = new Scanner(System.in).nextLine(); for (int i = 0; i < num; i++) { if (list.get(i).getNumber().equals(studentNumber)) { System.out.println("学生的姓名:" + list.get(i).getName() + "\n学号:" + list.get(i).getNumber() + "\n性别:" + list.get(i).getSex() + "\n籍贯:" + list.get(i).getNativePlace() + "\n学院:" + list.get(i).getCollage()); } } } // 修改学生的信息 public static void upDateStudentMessage(List<Student> list, int num) { if (list.size() == 0) { System.out.println("还没有输入学生信息"); // 没有学生信息退出系统 System.exit(0); } System.out.println("输入学生的学号:"); String studentNumber = new Scanner(System.in).nextLine(); for (int i = 0; i < num; i++) { if (list.get(i).getNumber().equals(studentNumber)) { Scanner src = new Scanner(System.in); System.out.println("输入你想改的信息标号:"); System.out.println("1,修改姓名信息"); System.out.println("2,修改性别信息"); System.out.println("3,修改学号信息"); System.out.println("4,修改籍贯信息"); System.out.println("5,修改学院信息"); System.out.println("===================="); int no = src.nextInt(); if (no == 1) { // 因为在nextInt()和nextLine()方法里,会出现一个\n,再输入新的名字以后,nextLine():接收到\n String name1 = src.nextLine(); System.out.println("输入新的姓名:"); String name = src.nextLine(); list.get(i).setName(name); } else if (no == 2) { String sex1 = src.nextLine(); System.out.println("输入新的性别:"); String sex = src.nextLine(); list.get(i).setSex(sex); } else if (no == 3) { System.out.println("输入新的学号"); String stuNumber = src.nextLine(); list.get(i).setNumber(stuNumber); } else if (no == 4) { String nativePlace1 = src.nextLine(); System.out.println("输入新的籍贯:"); String nativePlace = src.nextLine(); list.get(i).setNativePlace(nativePlace); } else { String collage1 = src.nextLine(); System.out.println("输入新的学院:"); String collage = src.nextLine(); list.get(i).setCollage(collage); } } } } // 删除学生信息 public static void deleteStudentMessage(List<Student> list, int num) { if (list.size() == 0) { System.out.println("还没有输入学生信息"); // 没有学生信息退出系统 System.exit(0); } System.out.println("输入删除学生的学号:"); String deleteStudentNumber = new Scanner(System.in).nextLine(); for (int i = 0; i < num; i++) { if (list.get(i).getNumber().equals(deleteStudentNumber)) { System.out.println("学生的姓名:" + list.get(i).getName() + "\n学号:" + list.get(i).getNumber() + "\n性别:" + list.get(i).getSex() + "\n籍贯:" + list.get(i).getNativePlace() + "\n学院:" + list.get(i).getCollage()); System.out.println("请确认是否为要删除的学生的信息(yes/no):"); String judge = new Scanner(System.in).nextLine(); if (judge.equals("yes") || judge.equals("Yes")) { list.remove(i); System.out.println("删除成功!!"); return; } else { System.out.println("已经取消删除"); return; } } } } // 将学生的信息写入文件中 public static void insertStudentMessageToFile(List<Student> list) { File file = new File("StudentMessage.txt"); if (!file.exists()) { try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } System.out.println("创建成功"); } else { System.out.println("已经存在该文件"); } BufferedWriter bfw = null; try { bfw = new BufferedWriter(new FileWriter(file)); String tableType = "姓名\t\t学号\t\t性别\t\t籍贯\t\t所在院系"; bfw.write(tableType); bfw.newLine(); for (int i = 0; i < list.size(); i++) { bfw.write(list.get(i).getName(), 0, list.get(i).getName().length()); bfw.write("\t\t"); bfw.write(list.get(i).getNumber(), 0, list.get(i).getNumber().length()); bfw.write("\t\t"); bfw.write(list.get(i).getSex(), 0, list.get(i).getSex().length()); bfw.write("\t\t"); bfw.write(list.get(i).getNativePlace(), 0, list.get(i).getNativePlace().length()); bfw.write("\t\t"); bfw.write(list.get(i).getCollage(), 0, list.get(i).getCollage().length()); bfw.newLine(); } System.out.println("录取完成"); } catch (IOException e) { e.printStackTrace(); } finally { if (bfw != null) { try { bfw.flush(); bfw.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
注意: 我们在接收一个int型数据以后,再次接收String类型的数据的时候,会将\n传入String的接收语句中,就会直接跳过,我们在中间在用一个接收语句接收‘\n’就好。
例如:
int no = src.nextInt(); if (no == 1) { // 因为在nextInt()和nextLine()方法里,会出现一个\n,再输入新的名字以后,nextLine():接收到\n String name1 = src.nextLine(); System.out.println("输入新的姓名:"); String name = src.nextLine(); list.get(i).setName(name); // 如果没有name1的话会直接跳过语句。
二,第二个给大家分享的是一个运动员信息的管理系统(其实我觉得老师布置的10个任务都是一样的,没有难度~~~~).
(1),运动员类:
public class player{ private String name; private String joinGameNumber; String run; // 4*100成绩 String jump; // 跳高成绩 String jumpWidth; // 跳远成绩 public player(String name, String joinGameNumber, String run, String jump, String jumpWidth) { this.name = name; this.joinGameNumber = joinGameNumber; this.run = run; this.jump = jump; this.jumpWidth = jumpWidth; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getJoinGameNumber() { return joinGameNumber; } public void setJoinGameNumber(String joinGameNumber) { this.joinGameNumber = joinGameNumber; } }
大家请忽略的变量命名,(四级未过的人,~~~~)
(2),测试类:
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; public class playTest { public static void main(String[] args) { // 三个运动项目分别为: 4*100;跳远 调高 List<player> list = new ArrayList<player>(); mainMenu(list); } public static void mainMenu(List<player> list) { while (true) { System.out.println("-----------"); System.out.println("1,输入运动员信息"); System.out.println("2,查看各类成绩"); System.out.println("3,降序排列成绩"); System.out.println("4,查看破纪录运动员名单"); System.out.println("5,输入参赛号码查询运动员成绩"); System.out.println("6,退出程序"); System.out.println("----------"); System.out.println("输入你想进行的操作编号:"); int num = new Scanner(System.in).nextInt(); switch (num) { case 1: insertPlayerMessage(list); break; case 2: checkedMessage(list); break; case 3: lowSort(list); break; case 4: checkedPlayerMenu(list); break; case 5: checkedNumberMessage(list); break; case 6: System.out.println("欢迎使用"); System.exit(0); default: System.out.println("您输入的序号错误,重新输入"); mainMenu(list); break; } } } public static void insertPlayerMessage(List<player> list) { // 输入运动员信息 System.out.println("输入运动员人数:"); int n = new Scanner(System.in).nextInt(); for (int i = 0; i < n; i++) { System.out.println("输入第" + (i + 1) + "个运动员的信息"); System.out.println("输入姓名:"); String name = new Scanner(System.in).nextLine(); System.out.println("输入号码:"); String joinPlayerNumber = new Scanner(System.in).nextLine(); System.out.println("输入4*100成绩:"); String fourScore = new Scanner(System.in).nextLine(); System.out.println("输入跳远成绩:"); String jumpWidthScore = new Scanner(System.in).nextLine(); System.out.println("输入跳高成绩:"); String jumpHighScore = new Scanner(System.in).nextLine(); player ply = new player(name, joinPlayerNumber, fourScore, jumpWidthScore, jumpHighScore); list.add(ply); } } public static void checkedMessage(List<player> list) { //查看各类运动的成绩 int runAverage = 0, jumpWidthAverage = 0, jumpAverage = 0; for (int i = 0; i < list.size(); i++) { String run = list.get(i).run; String jumpWidth = list.get(i).jumpWidth; String jump = list.get(i).jump; runAverage += Integer.parseInt(run); jumpAverage += Integer.parseInt(jump); jumpWidthAverage += Integer.parseInt(jumpWidth); } System.out.println("4*100米接力平均成绩:" + runAverage / list.size() + "\n" + "跳高平均成绩:" + jumpAverage / list.size() + "\n" + "跳远平均成绩:" + jumpWidthAverage / list.size()); } public static void lowSort(List<player> list) { // 计算最好和最差成绩,并且把每个项目的成绩按照降序排列 int[] arr1 = new int[list.size()]; int[] arr2 = new int[list.size()]; int[] arr3 = new int[list.size()]; for (int i = 0; i < list.size(); i++) { arr1[i] = Integer.parseInt(list.get(i).run); arr2[i] = Integer.parseInt(list.get(i).jump); arr3[i] = Integer.parseInt(list.get(i).jumpWidth); } Arrays.sort(arr1); System.out.println("4*100的最好成绩为:" + arr1[0] + "\n" + "最坏成绩为:" + arr1[arr1.length - 1]); Arrays.sort(arr2); System.out.println("跳高的最好成绩为:" + arr2[arr2.length - 1] + "\n" + "最坏成绩为:" + arr2[0]); Arrays.sort(arr3); System.out.println("跳远的最好成绩为:" + arr3[arr3.length - 1] + "\n" + "最坏成绩为:" + arr3[0]); System.out.print("4*100的成绩降序排列:"); for (int i = arr1.length - 1; i >= 0; i--) { System.out.print(" " + arr1[i] + ","); } System.out.print("跳高成绩降序排列:"); for (int i = arr2.length - 1; i >= 0; i--) { System.out.print(" " + arr2[i] + ","); } System.out.println("跳远成绩降序排列:"); for (int i = arr3.length - 1; i >= 0; i--) { System.out.print(" " + arr3[i] + ","); } } public static void checkedPlayerMenu(List<player> list) { System.out.println("输入原来的跳远记录:"); String oldRunScore = new Scanner(System.in).nextLine(); System.out.println("输入原来的跳高记录:"); String oldJumpScore = new Scanner(System.in).nextLine(); System.out.println("输入原来的跳远记录:"); String oldJumpWidthScore = new Scanner(System.in).nextLine(); for (int i = 0; i < list.size(); i++) { if (list.get(i).run.compareTo(oldRunScore) < 0) { System.out.println("破4*100记录者为:" + list.get(i).getName()); } else { System.out.println("无破4*100米接力的运动员"); } if (list.get(i).jump.compareTo(oldJumpScore) > 0) { System.out.println("破跳高纪录者为:" + list.get(i).getName()); } if (list.get(i).jumpWidth.compareTo(oldJumpWidthScore) > 0) { System.out.println("破跳远纪录者为:" + list.get(i).getName()); } } } public static void checkedNumberMessage(List<player> list) { System.out.println("输入你想查询的运动员的参赛号码:"); String joinGameNumber = new Scanner(System.in).nextLine(); for (int i = 0; i < list.size(); i++) { if (joinGameNumber.equals(list.get(i).getJoinGameNumber())) { System.out.println("4*100接力成绩:" + list.get(i).run + "\n" + "跳远成绩:" + list.get(i).jumpWidth + "\n" + "跳高成绩:" + list.get(i).jump); } } } }
三,第三个也是一样的,一个科技比赛的题(代码其实都差不多,你们可以参考这些东西,写你们自己的期末大作业)
比赛类:
public class Competition { // 竞赛项目 private String competitionAcm; private String competitionDataFountain; // 大数据 private String competitionCtf; // 网络安全成绩 private String name; private String testNumber; public Competition(String competitionAcm, String competitionDataFountain, String competitionCtf, String name, String testNumber) { this.competitionAcm = competitionAcm; this.competitionDataFountain = competitionDataFountain; this.competitionCtf = competitionCtf; this.name = name; this.testNumber = testNumber; } public String getCompetitionAcm() { return competitionAcm; } public String getCompetitionDataFountain() { return competitionDataFountain; } public String getCompetitionCtf() { return competitionCtf; } public String getName() { return name; } public String getTestNumber() { return testNumber; } }
测试类:
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; public class CompetitionTest { public static void main(String[] args) { List<Competition> list = new ArrayList<>(); mainMenu(list); } public static void mainMenu(List<Competition> list) { while (true) { System.out.println("-----------"); System.out.println("1,输入参赛人员信息"); System.out.println("2,统计成绩"); System.out.println("3,降序排列成绩,以及前三名"); System.out.println("4,输入参赛号码查询比赛成绩"); System.out.println("5,退出程序"); System.out.println("----------"); System.out.println("输入你想进行的操作编号:"); int num = new Scanner(System.in).nextInt(); switch (num) { case 1: insertPlayerMessage(list); break; case 2: checkedMessage(list); // 计算每个项目的平均成绩 break; case 3: lowSort(list); break; case 4: checkedNumberMessage(list); break; case 5: System.out.println("感谢使用"); System.exit(0); default: System.out.println("您输入的序号错误,重新输入"); mainMenu(list); break; } } } public static void insertPlayerMessage(List<Competition> list) { System.out.println("输入参赛人数:"); int n = new Scanner(System.in).nextInt(); for (int i = 0; i < n; i++) { System.out.println("输入第" + (i + 1) + "个参赛人员的信息"); System.out.println("输入姓名:"); String name = new Scanner(System.in).nextLine(); System.out.println("输入号码:"); String joinComNumber = new Scanner(System.in).nextLine(); System.out.println("输入ACM成绩:"); String AcmScore = new Scanner(System.in).nextLine(); System.out.println("输入CTR成绩:"); String CTRScore = new Scanner(System.in).nextLine(); System.out.println("输入DataFountion成绩:"); String DataFountionScore = new Scanner(System.in).nextLine(); Competition com = new Competition(AcmScore, DataFountionScore, CTRScore, name, joinComNumber); list.add(com); } } public static void lowSort(List<Competition> list) { int[] arr = new int[list.size()]; System.out.println("ACM比赛的人员成绩:"); for (int i = 0; i < list.size(); i++) { arr[i] = Integer.parseInt(list.get(i).getCompetitionAcm()); } Arrays.sort(arr); for (int i = arr.length - 1; i >= 0; i--) { System.out.println(list.get(i).getName() + "\t:\t" + list.get(i).getCompetitionAcm() + "\n"); } System.out.println("ACM比赛的前三名为:" + arr[arr.length - 1] + "," + arr[arr.length - 2] + "," + arr[arr.length - 3]); System.out.println("CTR比赛的人员成绩:"); for (int i = 0; i < list.size(); i++) { arr[i] = Integer.parseInt(list.get(i).getCompetitionCtf()); } Arrays.sort(arr); for (int i = arr.length - 1; i >= 0; i--) { System.out.println(list.get(i).getName() + " : " + list.get(i).getCompetitionCtf() + "\n"); } System.out.println("CRT比赛的前三名为:" + arr[arr.length - 1] + "," + arr[arr.length - 2] + "," + arr[arr.length - 3]); System.out.println("DataFountion比赛的人员成绩:"); for (int i = 0; i < list.size(); i++) { arr[i] = Integer.parseInt(list.get(i).getCompetitionAcm()); } Arrays.sort(arr); for (int i = arr.length - 1; i >= 0; i--) { System.out.println(list.get(i).getName() + " : " + list.get(i).getCompetitionDataFountain() + "\n"); } System.out.println("DataFountion比赛的前三名为:" + arr[arr.length - 1] + "," + arr[arr.length - 2] + "," + arr[arr.length - 3]); } public static void checkedMessage(List<Competition> list) { int AcmScore = 0, CtrScore = 0, DataFountionScore = 0; for (Competition competition : list) { AcmScore += Integer.parseInt(competition.getCompetitionAcm()); CtrScore += Integer.parseInt(competition.getCompetitionCtf()); DataFountionScore += Integer.parseInt(competition.getCompetitionDataFountain()); } System.out.println("acm总成绩:\t" + AcmScore + " 平均成绩为:\t" + AcmScore / list.size() + "\n" + "CTF总成绩:\t" + CtrScore + "平均成绩为:\t" + CtrScore / list.size() + "\n" + "DataFountion总成绩:\t" + DataFountionScore + "平均成绩为:\t" + DataFountionScore / list.size()); int acmNumber = 0, ctrNumber = 0, dataFountionNumber = 0; for (Competition competition : list) { if (Integer.parseInt(competition.getCompetitionAcm()) >= AcmScore / list.size()) { acmNumber++; } if (Integer.parseInt(competition.getCompetitionCtf()) >= CtrScore / list.size()) { ctrNumber++; } if (Integer.parseInt(competition.getCompetitionDataFountain()) >= DataFountionScore / list.size()) { dataFountionNumber++; } } System.out.println("acm比赛高于平均值的人数为:" + acmNumber + "\n" + "ctr比赛高于平均值的人数为:" + ctrNumber + "\n" + "datafountion比赛高于平均值的人数为:" + dataFountionNumber); } public static void checkedNumberMessage(List<Competition> list) { System.out.println("输入你想查询的运动员的参赛号码:"); String joinGameNumber = new Scanner(System.in).nextLine(); for (Competition competition : list) { if (joinGameNumber.equals(competition.getTestNumber())) { System.out.println("acm成绩:\t" + "\t" + competition.getCompetitionAcm() + "\n" + "CTF成绩:\t" + "\t" + competition.getCompetitionCtf() + "\n" + "DataFountion成绩:\t" + "\t" + competition.getCompetitionDataFountain()); } } } }
大家拿着就可以用了,祝大家学业有成。
-
java多线程网络编程之文件及文件夹加密上传
2018-07-21 19:29:52有能力的同学可以自行设计文件下载功能,但是本次作业不要求。 服务器端: 要求能运行如下程序: java FileServer port foldername 实际的运行命令可能为 java FileServer 1234 d:\\share 解释如下: port为... -
Java大作业——图书管理系统.pdf
2020-12-15 11:14:02程序设计要求 从文件网络或数据库读取数据格式自定数据自定显示统计结果包括图形两种 以上用户界面自定 可不超过3 人组队完成说明各自工作仅设计及文档得分系数0.95 编程及调试得分 系数1.05 注明姓名学号5 月20 ... -
西北工业大学软件学院面向对象程序设计理论课程大作业
2019-06-11 12:56:54西北工业大学软件学院面向对象程序设计理论课程大作业,欢迎大家下载! -
Java期末大作业基础项目--在线学生选课系统
2021-10-10 19:58:46临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里,你想解决的问题,在这都能解决🍅 作者主页:Java李杨勇
🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】
🍅文末获取源码联系🍅
临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里,你想解决的问题,在这专栏👇🏻👇🏻👇🏻👇🏻
❤️Java项目精品实战案例❤️
❤️web前端期末大作业网页实战❤️
都能满足你的需求。原始Jsp、SSM、SpringBoot、以及HTML+CSS+JS页面设计, web大学生网页设计作业源码等等都可以参考得到解决。话不多说直接拿一个在线学生选课系统来举例
前言介绍:
我校是由三个院校合并建成后进而升级为本科院校的,前几年又将潍坊艺校合并进来,因此学生层次呈阶梯式,培养模式也呈现多样化,因此作为高校教育教学工作的核心工作之一的选课与排课的工作量必然会呈级数增长。显然,传统的选课排课方式已经不能适应目前我校特殊的教育状况。迫切需要设计一款校园选课管理系统来提高其工作效率。我校目前有22个教学单位,68个本科专业,全日制在校学生近两万三千余人。校园选课管理系统充分将CRMc2]的技术和理念融入校园信息系统,让全体师生能乘载校园管理系统之便利用于科研工作及學习,很好地解决了以前学生选课难、老师工作量大等问题。相比于传统的选课方式而言,基于Java的选课管理系统以计算机代替人力,将学校的管理者、教师、学生紧密相连,做到了信息的高效互通。有了这款选课系统,学校的教务管理人员能够做到使教学资源可以快速合理地分配使用,以尽量减少资源浪费;教师和选课管理人员可以极大地提高了工作效率,使得他们有更多的时间和精力专注于本职工作;学生在进行网上选课时保证做到及时性和准确性,避免了选课时候因重复和拥塞等不确定因素造成选课的失败和延迟。它充分体现了在这个信息化时代,实行系统化管理的优点。
主要功能设计:
运行环境: 最好是java jdk 1.8、mysql5 、Tomcat 7.x,8.x,9.x版本均可
主要技术: HTML+CSS+JavaScript+jsp+mysql
主要角色设计:
1.管理员:管理员登录,学生管理,教师管理,班级管理,添加班级,添加教师,添加学生,课程管理,添加课程,系统用户管理,添加用户,修改密码等功能。
2.教师: 教师登录,选课管理,添加选课学生,成绩管理,添加成绩,查看学生信息,查看班级信息,查看个人档案,修改密码等功能。
3.学生:学生登录,选课管理,成绩查看,查看个人档案,修改密码等功能主要功能截图:
用户登录:
输入账号密码选择用户角色进行登录、每个角色对应不同功能权限
管理员首页:
管理员登录后主要功能模块有:学生管理,教师管理,班级管理,添加班级,添加教师,添加学生,课程管理,添加课程,系统用户管理,添加用户,修改密码等功能。
添加学生:
教师管理:
可以根据老师名称查询数据、以及添加、修改、删除老师信息
班级管理
添加班级信息:
课程管理和添加
修改密码:
学生登录系统:
主要功能设计:学生登录,选课管理,成绩查看,查看个人档案,修改密码等功能
教师登录系统:
教师登录,选课管理,添加选课学生,成绩管理,添加成绩,查看学生信息,查看班级信息,查看个人档案,修改密码等功能
主要源码展示:
登录表单处理:
@RequestMapping(value = "/login", method = {RequestMethod.POST}) public String login(Userlogin userlogin) throws Exception { //Shiro实现登录。。。。。。。 UsernamePasswordToken token = new UsernamePasswordToken(userlogin.getUsername(), userlogin.getPassword()); Subject subject = SecurityUtils.getSubject(); //如果获取不到用户名就是登录失败,但登录失败的话,会直接抛出异常。。。 subject.login(token); if (subject.hasRole("admin")&userlogin.getRole()==0) { }else throw new CustomException("请选择正确的身份登陆"); //业务层实现dao数据层操作。。。。。。。。 public Userlogin findByName(String name) throws Exception { UserloginExample userloginExample = new UserloginExample(); UserloginExample.Criteria criteria = userloginExample.createCriteria(); criteria.andUsernameEqualTo(name); List<Userlogin> list = userloginMapper.selectByExample(userloginExample); return list.get(0); }
课程管理查询:
// 课程信息显示 @RequestMapping("/showCourse") public String showCourse(Model model, Integer page) throws Exception { List<CourseCustom> list = null; //页码对象。。。。。。。。。。 PagingVO pagingVO = new PagingVO(); //设置总页数。。。。。。。。 pagingVO.setTotalCount(courseService.getCountCouse()); if (page == null || page == 0) { pagingVO.setToPageNo(1); list = courseService.findByPaging(1); } else { pagingVO.setToPageNo(page); list = courseService.findByPaging(page); } model.addAttribute("courseList", list); model.addAttribute("pagingVO", pagingVO); return "admin/showCourse"; }
教师查询:
后台数据操作显示、后台封装数据以及分页处理数据 // 教师页面显示。。。。。。 @RequestMapping("/showTeacher") public String showTeacher(Model model, Integer page) throws Exception { List<TeacherCustom> list = null; //页码对象。。。。。 PagingVO pagingVO = new PagingVO(); //设置总页数。。。。。。。。。。。。。。 pagingVO.setTotalCount(teacherService.getCountTeacher()); if (page == null || page == 0) { pagingVO.setToPageNo(1); list = teacherService.findByPaging(1); } else { pagingVO.setToPageNo(page); list = teacherService.findByPaging(page); } model.addAttribute("teacherList", list); model.addAttribute("pagingVO", pagingVO); return "admin/showTeacher"; } //获取分页查询老师信息。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 List<TeacherCustom> findByPaging(Integer toPageNo) throws Exception;
学生信息显示:
// 学生信息显示。。。。。。。。 @RequestMapping("/showStudent") public String showStudent(Model model, Integer page) throws Exception { List<StudentCustom> list = null; //页码对象。。。。。。。。。。。。。。 PagingVO pagingVO = new PagingVO(); //设置总页数。。。。。。。。。。。 pagingVO.setTotalCount(studentService.getCountStudent()); if (page == null || page == 0) { pagingVO.setToPageNo(1); list = studentService.findByPaging(1); } else { pagingVO.setToPageNo(page); list = studentService.findByPaging(page);} model.addAttribute("studentList", list); model.addAttribute("pagingVO", pagingVO); return "admin/showStudent"; } // 添加学生信息操作。。。。。。。 @RequestMapping(value = "/addStudent", method = {RequestMethod.POST}) public String addStudent(StudentCustom studentCustom, Model model) throws Exception { Boolean result = studentService.save(studentCustom); if (!result) { model.addAttribute("message", "学号重复"); return "error"; } //添加成功后,也添加到登录表。。。。。。。。。。。。。。 Userlogin userlogin = new Userlogin(); userlogin.setUsername(studentCustom.getUserid().toString()); userlogin.setPassword("123"); userlogin.setRole(2); userloginService.save(userlogin); //重定向。。。。。。。。。。 return "redirect:/admin/showStudent"; } // 已修课程。。。。。。。。。。。。。。。。。。。。 @RequestMapping(value = "/overCourse") public String overCourse(Model model) throws Exception { //获取当前用户名。。。。。。。。。。 Subject subject = SecurityUtils.getSubject(); StudentCustom studentCustom = studentService.findStudentAndSelectCourseListByName((String) subject.getPrincipal()); if (studentCustom==null){ throw new CustomException("你还没有修完任何一门课,请先选课学习吧!"); } List<SelectedCourseCustom> list = studentCustom.getSelectedCourseList(); model.addAttribute("selectedCourseList", list); return "student/overCourse"; }
修改密码:
// 本账户密码重置。。。。。。。。。。。。。。。。。。。 @RequestMapping(value = "/passwordRest", method = {RequestMethod.POST}) public String passwordRest(String oldPassword, String password1) throws Exception { Subject subject = SecurityUtils.getSubject(); String username = (String) subject.getPrincipal(); Userlogin userlogin = userloginService.findByName(username); if (!oldPassword.equals(userlogin.getPassword())) { throw new CustomException("旧密码不正确。。。。。。。"); } else { userlogin.setPassword(password1); userloginService.updateByName(username, userlogin); } return "redirect:/logout"; }
部分数据库设计:
DROP TABLE IF EXISTS `college`; CREATE TABLE `college` ( `collegeID` int(11) NOT NULL, `collegeName` varchar(200) NOT NULL COMMENT '课程名', PRIMARY KEY (`collegeID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of college -- ---------------------------- INSERT INTO `college` VALUES ('1', '计算机系'); INSERT INTO `college` VALUES ('2', '设计系'); INSERT INTO `college` VALUES ('3', '财经系'); -- ---------------------------- -- Table structure for course -- ---------------------------- DROP TABLE IF EXISTS `course`; CREATE TABLE `course` ( `courseID` int(11) NOT NULL, `courseName` varchar(200) NOT NULL COMMENT '课程名称', `teacherID` int(11) NOT NULL, `courseTime` varchar(200) DEFAULT NULL COMMENT '开课时间', `classRoom` varchar(200) DEFAULT NULL COMMENT '开课地点', `courseWeek` int(200) DEFAULT NULL COMMENT '学时', `courseType` varchar(20) DEFAULT NULL COMMENT '课程类型', `collegeID` int(11) NOT NULL COMMENT '所属院系', `score` int(11) NOT NULL COMMENT '学分', PRIMARY KEY (`courseID`), KEY `collegeID` (`collegeID`), KEY `teacherID` (`teacherID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of course -- ---------------------------- INSERT INTO `course` VALUES ('1', 'C语言程序设计', '1001', '周二', '科401', '18', '必修课', '1', '3'); INSERT INTO `course` VALUES ('2', 'Python爬虫技巧', '1001', '周四', 'X402', '18', '必修课', '1', '3'); INSERT INTO `course` VALUES ('3', '数据结构', '1001', '周四', '科401', '18', '必修课', '1', '2'); INSERT INTO `course` VALUES ('4', 'Java程序设计', '1002', '周五', '科401', '18', '必修课', '1', '2'); INSERT INTO `course` VALUES ('5', '英语', '1002', '周四', 'X302', '18', '必修课', '2', '2'); INSERT INTO `course` VALUES ('6', '服装设计', '1003', '周一', '科401', '18', '选修课', '2', '2'); -- ---------------------------- -- Table structure for file -- ---------------------------- DROP TABLE IF EXISTS `file`; CREATE TABLE `file` ( `fileID` varchar(100) COLLATE utf8_bin NOT NULL, `fileName` varchar(255) COLLATE utf8_bin DEFAULT NULL, `fileDesc` varchar(255) COLLATE utf8_bin DEFAULT NULL, `filePath` varchar(255) COLLATE utf8_bin DEFAULT NULL, `userID` int(11) DEFAULT NULL, `fileExt1` varchar(255) COLLATE utf8_bin DEFAULT NULL, `fileExt2` varchar(255) COLLATE utf8_bin DEFAULT NULL, `fileExt3` varchar(255) COLLATE utf8_bin DEFAULT NULL, PRIMARY KEY (`fileID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; -- ---------------------------- -- Records of file -- ---------------------------- INSERT INTO `file` VALUES ('3192d10378ea44d88d8b558562a480e3', '理工类模板.docx', '理工类模板.docx', 'E://upload/3192d10378ea44d88d8b558562a480e3.docx', null, null, null, null); INSERT INTO `file` VALUES ('59c0f03696be4e73a64c7625f1887e88', '测测1231', '十分大师傅十分213', 'E://upload/59c0f03696be4e73a64c7625f1887e88.jpg', null, null, null, null); INSERT INTO `file` VALUES ('8a1d671ba48f441ead14255e9fda3c96', '测测123', 'wrwerwer', 'E://upload/8a1d671ba48f441ead14255e9fda3c96.sql', null, null, null, null); -- ---------------------------- -- Table structure for role -- ---------------------------- DROP TABLE IF EXISTS `role`; CREATE TABLE `role` ( `roleID` int(11) NOT NULL, `roleName` varchar(20) NOT NULL, `permissions` varchar(255) DEFAULT NULL COMMENT '权限', PRIMARY KEY (`roleID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of role -- ---------------------------- INSERT INTO `role` VALUES ('0', 'admin', null); INSERT INTO `role` VALUES ('1', 'teacher', null); INSERT INTO `role` VALUES ('2', 'student', null); -- ---------------------------- -- Table structure for selectedcourse -- ---------------------------- DROP TABLE IF EXISTS `selectedcourse`; CREATE TABLE `selectedcourse` ( `courseID` int(11) NOT NULL, `studentID` int(11) NOT NULL, `mark` int(11) DEFAULT NULL COMMENT '成绩', KEY `courseID` (`courseID`), KEY `studentID` (`studentID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of selectedcourse -- ---------------------------- INSERT INTO `selectedcourse` VALUES ('2', '10001', '12'); INSERT INTO `selectedcourse` VALUES ('1', '10001', '95'); INSERT INTO `selectedcourse` VALUES ('1', '10002', '66'); INSERT INTO `selectedcourse` VALUES ('2', '10003', '99'); INSERT INTO `selectedcourse` VALUES ('5', '10001', null); INSERT INTO `selectedcourse` VALUES ('3', '10001', null); INSERT INTO `selectedcourse` VALUES ('1', '10003', null); INSERT INTO `selectedcourse` VALUES ('4', '10003', null); -- ---------------------------- -- Table structure for student -- ---------------------------- DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `userID` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(200) NOT NULL, `sex` varchar(20) DEFAULT NULL, `birthYear` date DEFAULT NULL COMMENT '出生日期', `grade` date DEFAULT NULL COMMENT '入学时间', `collegeID` int(11) NOT NULL COMMENT '院系id', PRIMARY KEY (`userID`), KEY `collegeID` (`collegeID`) ) ENGINE=InnoDB AUTO_INCREMENT=10006 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of student -- ---------------------------- INSERT INTO `student` VALUES ('9999', 'mike1', '男', '1996-09-03', '2019-11-13', '3'); INSERT INTO `student` VALUES ('10001', '小红', '男', '2020-03-02', '2020-03-02', '1'); INSERT INTO `student` VALUES ('10002', '小绿', '男', '2020-03-10', '2020-03-10', '1'); INSERT INTO `student` VALUES ('10003', '小陈', '女', '1996-09-02', '2015-09-02', '2'); INSERT INTO `student` VALUES ('10005', '小左', '女', '1996-09-02', '2015-09-02', '2'); -- ---------------------------- -- Table structure for teacher -- ---------------------------- DROP TABLE IF EXISTS `teacher`; CREATE TABLE `teacher` ( `userID` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(200) NOT NULL, `sex` varchar(20) DEFAULT NULL, `birthYear` date NOT NULL, `degree` varchar(20) DEFAULT NULL COMMENT '学历', `title` varchar(255) DEFAULT NULL COMMENT '职称', `grade` date DEFAULT NULL COMMENT '入职时间', `collegeID` int(11) NOT NULL COMMENT '院系', PRIMARY KEY (`userID`), KEY `collegeID` (`collegeID`) ) ENGINE=InnoDB AUTO_INCREMENT=1004 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of teacher -- ---------------------------- INSERT INTO `teacher` VALUES ('1001', '刘老师', '女', '1990-03-08', '硕士', '副教授', '2015-09-02', '2'); INSERT INTO `teacher` VALUES ('1002', '张老师', '女', '1996-09-02', '博士', '讲师', '2015-09-02', '1'); INSERT INTO `teacher` VALUES ('1003', '软老师', '女', '1996-09-02', '硕士', '助教', '2017-07-07', '1'); -- ---------------------------- -- Table structure for userlogin -- ---------------------------- DROP TABLE IF EXISTS `userlogin`; CREATE TABLE `userlogin` ( `userID` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(200) NOT NULL, `password` varchar(200) NOT NULL, `role` int(11) NOT NULL DEFAULT '2' COMMENT '角色权限', PRIMARY KEY (`userID`), KEY `role` (`role`) ) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of userlogin -- ---------------------------- INSERT INTO `userlogin` VALUES ('1', 'admin', '123', '0'); INSERT INTO `userlogin` VALUES ('10', '10003', '123', '2'); INSERT INTO `userlogin` VALUES ('11', '10005', '123', '2'); INSERT INTO `userlogin` VALUES ('14', '1001', '123', '1'); INSERT INTO `userlogin` VALUES ('15', '1002', '123', '1'); INSERT INTO `userlogin` VALUES ('16', '1003', '123', '1'); INSERT INTO `userlogin` VALUES ('20', '9999', '123', '2'); INSERT INTO `userlogin` VALUES ('21', '10001', '123', '2'); INSERT INTO `userlogin` VALUES ('22', '10002', '123', '2');
总体来说这个项目适合java大学生用来作为课程设计或者java毕业设计参考使用
好了、今天就分享到这儿吧,我是小奥、下期见~~
获取完整源码:
大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻微信公众号获取联系👇🏻👇🏻👇🏻
打卡 文章 更新 75/ 100天
精彩专栏推荐:
-
java大作业实验报告
2021-03-13 08:54:23java大作业实验报告计算机网络程序设计课程设计报告题目: 学生成绩网上查询 学 院 计算机学院 专 业 网络工程 班 级 1班 姓 名 刘小芳 学 号 同组人姓名 张晶晶 同组人学号 指导教师 薛涛 2013年 12 月 20 日一、... -
java大作业网络聊天室
2020-08-30 13:49:58这个项目是我大一的java期末大作业,学习了一个学期的成果,编程能力不够,做的并不够好,写在这里记录一下自己的成长,也欢迎大家给出宝贵意见! 该篇博客写一个基于java的单/多人网络即时聊天室,聊天室 ... -
网络编程作业
2017-12-13 17:47:471.使用UDP协议编写一个网络程序,设置接收端程序的监听端口是8001,发送端发送的数据是“Hello,world”。 package test; import java.net.*; public class example01 { public static void main(String[] args)... -
Java高级程序设计作业目录(作业笔记)
2020-09-22 15:17:01Java高级程序设计笔记 • 【目录】 我的大学笔记>>> 第1章 IO流 >>> 1.1.3 编写Java程序,在电脑硬盘里,查看 f:\text4\name 目录是否存在。 1.2.3编写Java程序,在一个文件夹内,查找占用... -
JSP网络课程管理系统myeclipse开发mysql数据库web结构java编程
2021-10-28 12:04:06JSP 网络课程管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 二、功能介绍 其中Myecplise作为开发工具,采用Mysql作为数据库... -
Java使用Socket网络编程
2019-12-07 10:17:59网络编程 回顾: 1 多线程访问临界资源---线程安全问题 2 线程同步: 同步代码块 synchronized (锁){ //锁多个线程使用同一个锁 this 代码 } 同步方法 public synchronized void sale(){ //this } ... -
《Java程序设计》第三次作业:网络编程
2015-05-29 16:56:15作业的目标 目标1:Socket简单应用。 把教材P238-230中例11-5代码输入到我们的代码编辑器,调试并运行(80分)。 目标2:博文统计程序。 对“liem烧心”同学的博文(网址链接,网页源代码链接)进行统计,得到... -
Java程序设计基础实训
2017-10-14 14:37:59Java是面向对象的、支持多线程的解释型网络编程语言。它是目前Internet最流行的编程语言之一,具有高度的安全性、可移植性和代码可重用性。 -
java高级编程
2020-12-15 15:54:10Java高级编程是一门面向计算机专业的专业任选课,其具有实践性强、应用广泛、功能强大等特点,对于学生职业发展和提高社会信息化水平,具有重要意义。Java Web开发是Java 开发技术中的一个重要的组成部分,在B/S开发... -
Java毕业设计课程设计商城系统管理系统小程序大作业微服务项目
2021-08-09 22:14:57我是吉哥,爱好编程。专业从事JavaWeb程序开发,微信小程序开发,定制化项目、难题、bug、需要修改、源码、定制化开发、代码讲解、文档撰写、ppt制作 springboot旅游系统 springboot仓库管理系统 ... -
java聊天程序(使用eclipse开发)
2020-10-07 12:00:15java版聊天程序,本聊天系统具有完整的会话功能。服务器具有建立侦听服务,转发聊天信息,响应用户退出,发送系统消息的功能。客户端具有请求加入,请求退出,发送聊天信息,接收聊天信息,接收系统信息的功能。对... -
JAVA程序设计教程
2017-04-23 14:39:12全书通过Deitel特有的“活代码”方式,详细讲解了如何使用Java开发数据库应用程序、多媒体应用程序、网络应用程序。本书还介绍了软件工程知识、界面设计知识、调试技巧、性能提示等方面的内容。另外,本书还配有实验... -
代做159.272作业、代写Programming Paradigms作业、代做Python实验作业、代写Java/c++编程作业代写Database...
2020-12-18 09:47:15代做159.272作业、代写Programming Paradigms作业、代做Python实验作业、代写Java/c++编程作业代写Database|代做RComputational Thinking159.272 Programming ParadigmsAssignment 2Playing a board game: ... -
Java Web程序设计作业目录(作业笔记)
2021-02-19 13:27:55Java Web程序设计笔记 • 【目录】 第1章 Web应用程序 >>> 第2章 JSP基础 >>> 第3章 JSP内置对象 >>> 第4章 JavaBean和JSP标准动作 >>> 第5章 Servlet技术 >... -
用Java实现基于Socket的网络编程
2019-11-23 00:59:14使用Java语言,采用TCP协议,实现一对一、一对多的通信(无用户界面) -
第一章JAVA面向对象的程序设计.doc
2015-08-28 09:56:598: JAVA深入(JDBC数据库编程,java.serverlet.* java.http.*等基于网络的编程JSP) 五:主要参考书: 1:深入浅出java语言程序设计 中国青年出版 2:JAVA程序设计教程( java How to Program Third Edition) 3: ... -
基于UDP协议网络Socket编程(java实现C/S通信案例)
2020-10-11 21:33:41本篇详细记录运用java进行网络编程,基于UDP套接字(Socket)实现服务器与客户端间的通信,在实战案例中更深刻理解UDP的实现原理,掌握UDP实践应用步骤。 -
网络编程作业题目
2019-07-24 15:26:07常见网络编程面试题目 1.简述 OSI 七层协议。 为了实现计算机系统的互连,OSI参考模型把整个网络的通信功能划分为7个层次,同时也定义了层次之间的相互关系以及各层所包括的服务及每层的功能。OSI的七层由低到高...
-
<em>java网络编程</em>试验socket udp tcp 协议 文件流等相关实验
-
jsp 或 <em>java</em> <em>大作业</em>用jsp语言及<em>java</em>语言实现的学生信息管理系统,源码文档齐全,注意文档是把所有功能拆分为三个分文档,介意勿下
-
<em>java</em>多线程<em>网络编程</em>之文件及文件夹加密上传有能力的同学可以自行<em>设计</em>文件下载功能,但是本次<em>作业</em>不要求。 服务器端: 要求能运行如下程序: <em>java</em> FileServer port fold
-
<em>网络大作业</em>ICQ程序用<em>java</em>实现的<em>网络大作业</em>,类似于QQ的聊天程序,含完整文档和工程文件
-
<em>java</em> 多线程<em>设计</em>模式 进程详解《<em>JAVA</em>多线程<em>设计</em>模式》PDF 下载 《<em>Java</em>线程 高清晰中文第二版》中文第二版(PDF) 前言 第一章 线程简介 <em>Java</