Advertisement

北京大学POJ Java源码

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
《北京大学POJ Java源码》是一本汇集了北京大学在POJ(Peking University Online Judge)平台上经典Java编程题解与高效代码实践的书籍,旨在帮助程序员和学生提高算法理解和编码能力。 北京大学POJ Java源码

全部评论 (0)

还没有任何评论哟~
客服
客服
  • POJ Java
    优质
    《北京大学POJ Java源码》是一本汇集了北京大学在POJ(Peking University Online Judge)平台上经典Java编程题解与高效代码实践的书籍,旨在帮助程序员和学生提高算法理解和编码能力。 北京大学POJ Java源码
  • OJ[POJ] ACM题库
    优质
    北京大学在线判题系统(POJ),是全球知名的ACM竞赛编程训练平台之一,提供海量算法题目供程序设计爱好者练习和提高。 北大ACM离线题库包含了近3000道题目,每道题都有独立的离线页面可供下载。如果有需要的话可以进行获取。
  • OJ题集(清晰版,POJ
    优质
    本题集收录了由北京大学维护的经典在线编程题库POJ中的精选题目,并提供了一个更加清晰、易于使用的版本,适合编程爱好者和学生练习算法与提高编码技巧。 POJ是“北京大学程序在线评测系统”(Peking University Online Judge)的缩写,提供编程题目,并支持多种语言如Pascal、C、C++、Java、Fortran和Python等。“北京大学程序在线评测系统”是一个免费且公益性质的网上题库。它包含2000多道有趣的程序设计问题,大部分来自ACM国际大学生程序设计竞赛,很多题目反映的是工作与生活中的实际问题。 用户可以针对特定题目编写并提交代码,POJ会自动评判其正确性,并在几秒内给出反馈结果。作为教学辅助工具,在该平台上每位学生都可以创建个人账户;教师则能够迅速查看学生们完成作业的情况,这极大地简化了评估过程的工作量。 POJ对程序的准确性要求非常高,不仅需要逻辑上无误,还需注意数据格式等细节问题。这种严格的评判标准有助于培养严谨细致的编程习惯,并促使学生在编写代码时考虑到各种边界条件和特殊情况。相比之下,在传统的人工评审中很难达到这样的精确度。
  • POJ部分基础题目的解答
    优质
    本资源提供北京大学POJ(Peking University Online Judge)平台上若干经典基础题目的解答与解析,旨在帮助编程学习者掌握算法和数据结构的基础知识,并提高在线评测系统中的解题能力。 很多POJ题目的解答如下:1000~1008, 1011~1014, 1016, 1017, 1019, 1028, 1032, 1045, 1046, 1047, 1050, 1061, 1067, 1068, 1088, 1102, 1159, 1163, 1183, 1207, 1218, 1226, 1247, 1256, 1258, 1298, 1316, 1323, 1326, 1338, 1363, 1396, 1401, 1423, 1455, 1458, 1468, 1477, 1488, 1503, 1504, 1517, 1519, 1528, 1543, 1547, 1552,1265,1579,1604,1629,1656,1657,1658,1663,1664,1665,1674,1799, 1844, 1862, 1922, 1953, 1969, 1979, 2000, 2013, 2017, 2027, 2039,2070,2080,2105,2109,2136,2140,2141,2159,2190,2196,2242,2247, 2249, 2262, 2301, 2309, 2328, 2350, 2386, 2388, 2389, 2390,2403,2405,2453,2479,2487,2498,2509,2511(原文中此处有误),修正为:2511改为2521。继续如下: 2533, 2538, 2551, 2562, 2575, 2578, 2583, 2591,2593,2601,2602,2608,2636,2663,2707,2719,2739,2801,2840, 2871, 2909, 2924, 3006, 3030, 3062, 3077, 3085, 3094, 3100,3173,3176,3210,3224,3302,3325,3438,3673,以及一些重复编号的题目:如题号为“2503”和“1731”,还有遗漏或错误的:“1065、 3636”。
  • Java课件
    优质
    本课程为北京大学提供的Java编程入门与进阶学习资源,涵盖基础语法、面向对象编程及Web开发等主题,适合各水平学员深入学习。 北京大学的Java课件是该校信息科学专业任选课程《Java》的全套教学资料,具有较高的参考价值。
  • 邮电Java作业
    优质
    本课程是北京邮电大学计算机专业的一门基础课,旨在通过实践项目教授学生Java编程语言的核心概念和开发技巧。学生将完成一系列设计与编码任务,以提升解决问题的能力和团队合作精神。 实验1:类的定义与对象数组使用 **任务一** 创建一个名为`Student`的学生类。该类包含以下属性和方法: - **非静态属性** - `String studentNumber`: 学生学号。 - `String studentName`: 学生姓名。 - `int markForMaths`, `markForEnglish`, 和 `markForScience`: 分别表示数学、英语与科学科目的成绩。 - **构造方法** - `Student(String number, String name)`: 构造函数,用于初始化学号和名字。 - `Student()`: 默认构造器(无参数)。 - **其他方法** - `String getNumber()` : 返回学生学号。 - `String getName()`: 返回学生姓名。 - `void enterMarks(int markForMaths, int markForEnglish, int markForScience)`: 输入三门课程的成绩。 - `int getMathsMark()`, `getEnglishMark()`, 和`getScienceMark()`:分别返回数学、英语和科学成绩。 - `double calculateAverage()`: 计算平均分,注意除数应为3.0而非整型数值以确保结果准确。分数初始值设置问题讨论:若将每个科目的初始分为零,则可能与实际得分为零的情况混淆;建议使用其他默认值或在输入前进行验证。 - `String toString()`: 返回包含学生信息的字符串,包括学号、姓名和各科目成绩及平均分。 编写`StudentTest`类来测试上述定义的功能。运行效果展示如下: ``` 请输入学生学号:2011211301 请输入学生姓名:王晓 请输入三门课成绩(数学,英语,科学):88,79,90 输出: 学号: 2011211301 姓名: 王晓 数学成绩: 88 英语成绩: 79 科学成绩: 90 平均分: 85.67 ``` **任务二** 创建一个名为`StudentList`的类,用于存储多个学生对象。定义如下属性和方法: - **成员变量** - `Student[] list`: 存储学生对象。 - `int total`: 记录当前数组中的元素个数。 - **构造函数** - `StudentList(int length)`: 初始化一个具有给定长度的列表来存储学生信息。 - **方法** - `boolean add(Student stu)` : 向列表中添加一个新的`stu`对象,成功返回true,否则false。 - `boolean remove(int no)` 和 `remove(String number)`: 分别根据位置或学号删除一个元素,并反馈操作结果(布尔值)。 - `boolean isEmpty()`: 检查数组是否为空并给出相应的判断结果。 - `Student getItem(int no)` 和`getItem(String number)`: 根据索引和学号返回对应的对象,若找不到则返回null或错误信息。 - `int getTotal()`:获取当前学生总数。 编写测试类`StudentListTest`以验证功能: ``` 菜单如下,请输入1~8代表您要执行的操作: 1. 添加一个新学生 2. 按学号删除学生 3. 根据位置移除学生信息 4. 判断列表是否为空 5. 通过索引获取指定的学生信息 6. 使用学号查找特定的记录 7. 展示所有学生的数据 8. 结束程序 操作实例: 输入1添加新用户,后续会要求你依次填写:学号、姓名及三门课的成绩。 ``` 作业命名规则为`_学号(8位)_姓名_第几次作业(1位)_类名.java`。例如: - `_09211195_王晓_1_Student.java` - `_09211195_王晓_2_studentList.java` 注意:提交时,仅上传`.java`文件而非压缩包,并确保源代码中的类名称与文件名一致以方便批改。
  • 邮电Java作业3
    优质
    本作业为北京邮税大学Java课程第三阶段的学习任务,涵盖面向对象编程、数据结构及算法等核心内容,旨在提升学生的编程实践能力。 实验3 继承与多态 定义以下五个类: - Employee:包含属性 firstName(名字)、lastName(姓氏) 和 socialSecurityNumber(社保号)。该类中应定义一个抽象方法 earning,用于计算员工的月工资。 - SalaridEmployee:继承自 Employee 类,并新增 weeklySalary 属性表示周薪。其月工资计算方式为:weeklySalary * 4。 - HourlyEmployee:同样继承自 Employee 类,包含 wage(每小时工钱)和 hours(每月工作时长)。该类的月工资计算公式是:wage * hours。 - CommisionEmployee:基于 Employee 类创建,并新增 grossSales(销售额) 和 commissionRate(提成比率)两个属性。此员工类型的月收入为:grossSales * commissionRate。 - BasePlusCommisionEmployee:同样继承自 Employee,增加了 baseSalary 属性表示基本月薪。此类的月工资计算公式是:(grossSales * commissionRate) + baseSalary。 每个类都应包括构造方法、toString 方法以及所有属性的 get 和 set 方法(对于 socialSecurityNumber 只提供 getter)。firstName 和 lastName 除了 getter/setter 外,还应在构造函数中初始化。 接下来需要创建一个包含10个员工对象的数组,通过随机数决定生成哪种类型的员工,并将这些对象存储在数组内。最后遍历这个数组调用每个对象的 toString 方法输出其信息以及 earning 方法计算并展示月工资。 注意:上述描述未涉及任何具体实现细节、代码示例或联系信息。
  • Java课件.rar_课件
    优质
    本资源为北京大学提供的Java课程相关课件,内容涵盖Java编程基础、核心概念及应用实践等,适合初学者和进阶学习者使用。 【北京大学Java幻灯片.rar_幻灯片】这个资源是一个包含北京大学Java教学内容的压缩文件,对于想要深入学习Java编程的学者来说是一份非常珍贵的资料。它可能包含了Java语言的基础概念、语法特性、面向对象编程思想以及高级主题,如多线程、网络编程、数据结构与算法等。 1. **Java基础**:Java是一种强类型和面向对象的语言,设计目标是具有平台无关性,通过Java虚拟机(JVM)实现跨平台运行。其基础包括变量、数据类型、运算符、流程控制(如if语句、for循环和while循环)、方法定义等。 2. **类与对象**:在Java中,一切皆为对象。类是创建对象的蓝图,包含属性(成员变量)和行为(方法)。面向对象编程的三大特性包括继承、封装和多态。其中,继承允许一个类从另一个类继承属性和行为;封装将数据与其操作绑定在一起;而多态则意味着同一接口可以有不同的实现。 3. **异常处理**:Java提供了通过try-catch-finally语句块来捕获并处理程序运行时可能出现的错误的机制。这些错误分为检查型异常(必须处理)和非检查型异常(可以选择是否处理)两种类型。 4. **集合框架**:Java集合框架包括接口如List、Set、Map,以及实现这些接口的具体类例如ArrayList、HashSet、HashMap等。它们用于存储并管理对象,并提供了丰富的操作方法。 5. **多线程**:Java支持通过Thread类或者实现Runnable接口来创建线程的多线程编程方式。同步机制(比如synchronized关键字和wait()、notify()方法)用来控制并发访问共享资源,防止数据不一致性问题的发生。 6. **输入输出流**:Java IO流库提供了一种处理输入与输出的方法,包括字节流、字符流以及缓冲流等类型,并支持对象序列化操作。 7. **网络编程**:使用Socket类及ServerSocket类可以建立客户端和服务端之间的连接并进行数据传输。这基于TCP/IP协议来实现通信功能。 8. **反射和注解**:Java中的反射机制允许程序在运行时动态地获取到关于某个类的信息,并调用其方法;而注解(Annotation)则是一种元信息的形式,可以用于提供编译期或运行期所需的数据。 9. **泛型**:通过引入泛型概念,Java提供了类型安全的集合框架来限制集合内存储元素的具体类型,从而减少代码中的强制转换操作。 10. **Java Swing和JavaFX**:这两种图形用户界面(GUI)开发库提供了一套组件和布局管理器用于构建桌面应用程序。 11. **新特性介绍**:从Java 8版本开始引入了Lambda表达式、函数式接口、Stream API等现代编程技术,以及改进后的日期时间API与Optional类等功能。这些新技术使开发者能够更高效地编写代码并提高程序的性能。 北京大学这份关于Java的教学幻灯片很可能涵盖了上述提到的知识点,通过学习可以掌握到Java语言的基础用法及其设计理念和高级特性,进而提升个人的技术水平。
  • 科技-Java实验题及代
    优质
    本书籍专为学习Java编程的学生设计,包含丰富的实验题目与详细解答代码,旨在通过实践强化理论知识的理解和应用。适合于计算机科学及相关专业的学生使用。 北京科技大学Java上机实验题目及代码分享给需要的同学。
  • 天网搜索引擎TSE
    优质
    北京大学天网搜索引擎(TSE)源码是由北大团队开发的一款开放源代码的全文检索系统,旨在为用户提供高效、准确的信息搜索服务。 TSE(Tiny Search Engine)是一个用于从互联网非交互式下载文件的免费工具。它支持HTTP协议,并根据查询词或URL检索已爬取页面的结果。 主要功能包括: 1. 正常抓取,称为SE,例如:抓取北京大学范围内的所有网页。 2. 抓取图片及其对应页面的功能,命名为ImgSE。 安装步骤: 1. 执行“tar xvfz tse.XXX.gz”。 运行程序前的注意事项: 默认情况下TSE用于正常爬虫(SE)模式。对于使用ImgSE功能需进行以下更改: 1. 在Page.cpp文件中找到两个相同的函数CPage::IsFilterLink(string plink),一个用于ImgSE,要求URL必须包含“tupian”,“photo”等字样;另一个为正常的抓取模式。根据需要选择并注释相应代码。 2. 在Http.cpp文件中: i. 找到 if( iPage.m_sContentType.find(image) != string::npos ) 并按需进行适当的修改或注释; 3. 在Crawl.cpp 文件中,分别对以下内容进行适当处理: i. 根据需求选择并注释if( iPage.m_sContentType != text/html ii. 选择正确的行 iii. 对“iMD5.GenerateMD5((unsigned char*)iPage.m_sContent.c_str(), iPage.m_sContent.length())”进行适当的修改或注释; iv. 根据需要对if (iUrl.IsImageUrl(strUrl)) 进行处理。 执行程序: 1. 执行 make clean; sh Clean; make. 2. 对于正常抓取和检索,使用命令 ./Tse -c tse_seed.img. 按照查询词或URL从已爬取的页面中获取结果。 3. 使用ImgSE功能时,先执行 ./Tse -c tse_seed.img, 然后移动 Tianwang.raw.* 数据到安全的地方, 再使用 link4History.url 作为种子文件。 详细功能包括: 1. 支持多线程爬取页面; 2. 持久HTTP连接; 3. DNS缓存; 4. IP封锁; 5. 过滤无法访问的主机; 6. 解析从已爬取页面中提取的超链接; 7. 递归地抓取网页。 8. 输出Tianwang格式或ISAM格式文件。 包中的文件: - Tse:可执行程序 - tse_unreachHost.list: 根据PKU IP封锁列表无法访问的主机 - tse_seed.pku: PKU种子页 目录包括: hlink, include, lib, stack, uri 目录用于解析页面内的链接。 TSE由北京大学网络实验室的YAN Hongfei创建,版本更新情况如下: * 创建时间:2003年7月15日,版本号为 0.1.1 * 更新日期:2003年8月20日,引入多线程爬取页面功能; * 更新日期: 2003年11月8日, 版本号为 1.0.1; * 更新时间:2003年11月16日,版本号为 1.1.0 * 更新时间:2003年11月21日,版本号为 1.1.1