java程序设计
文章平均质量分 67
农夫小田
心脏跳动 && 北京上天大学 - 辛劳学籽
展开
-
数组实现循环队列
循环队列优势:避免定长数组前面有数据弹出后的空间浪费定义:1、队列是一个有序列表,可以用数组或是链表来表示 2、遵循先进先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出数组模拟队列思路:1、定义三个变量maxSize:队列的最大长度front:指向对列的头部,随着数列的输出而改变,初始值为-1rear:指向队列的尾部,随着队列的输入而改变,初始值为-1 2、将数据添加到队列里面(addQueue方法)添加数据时将尾指针rear+1,front == rear时队列为空rear == maxSi转载 2021-07-23 21:01:31 · 546 阅读 · 0 评论 -
堆排序
预备知识堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图:同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个样子该数组从逻辑上讲就是一个堆结构,我们用简单的公式来描述一下堆的定义就是:大.转载 2021-04-07 10:56:08 · 407 阅读 · 0 评论 -
【中国大学MOOC】java程序设计-week11-编写一个具有图形用户界面的应用程序
1.题目结合本讲及前面几讲的内容,编写一个具有图形用户界面的应用程序。可以是一个小游戏程序,也可以是一个日常的应用程序(如个人收支管理),也可以是一个多媒体方面的应用程序。可以任意选题,但要注意以下几点:(1)具有图形用户界面,使用JFrame/JButton等窗体及组件。(2)具有绘图、图像或音频、视频方面的功能。(3)具有文件读取或数据库访问方面的功能。可以参考我们的示例,也可以参考网上的其他示例,但要求进行改进或重写,如果是改进,则要指出哪些部分是你的改进。希望你能做出有一定综合性的应用程序原创 2020-10-08 11:09:37 · 2860 阅读 · 1 评论 -
【中国大学MOOC】java程序设计-week10-做一个窗体应用程序“体重指数计算器”
1.题目做一个窗体应用程序“体重指数计算器”,能根据用户输入的性别、身高、体重计算出“体质指数(身体质量指数)”,并给出是否偏胖的判断。其中,体质指数(BMI)=体重(kg)÷身高^2(m),大于24则为偏胖,更详细的判断可以在网上查查相关的资料。要求有用户界面组件(如文本框、单选按钮、按钮)、布局和事件处理。评分标准:是一个窗体应用程序(1分);有按钮、文本框等组件(2分);有布局(2分);有事件处理(2分);正确计算,并显示结果(2分);总体较好(1分)。2.题解/* encodin原创 2020-10-08 10:51:28 · 2626 阅读 · 0 评论 -
【中国大学MOOC】java程序设计-week9-请改进本讲中的两个示例中的一个:“背单词”或“网络爬虫”
1.题目请改进本讲中的两个示例中的一个:“背单词”或“网络爬虫”。你可以根据你的想法来改进,以下是一些改进意见可以参考:“背单词”:界面可以再好看一点;可以去掉音标;可以改变单词显示的速度;可以增加标记生词并记到生词本中;可以增加测试的功能(单词含义可以随机选4个词的含义来让用户选择)等等。“网络爬虫”:界面可以做成图形化界面;下载时可以判断是不是网页(其中有HTML标记);可以猜测网页的编码(charset);可以避免循环下载(将已下载过的网页记下来);可以处理相对地址;可以记录下来网页中得到的em原创 2020-10-08 10:48:10 · 1989 阅读 · 0 评论 -
【中国大学MOOC】java程序设计-week8-多线程爬虫
1.题目多线程下载网页内容,并计算下载耗时2.题解import java.net.URL;import java.io.*;import java.util.Date; public class homework8{ public static void main(String[] args) throws Exception { final URL[] urls = { new URL("https:/原创 2020-10-08 10:44:02 · 313 阅读 · 0 评论 -
【中国大学MOOC】java程序设计-week7-做一个简单的银行、账户演示程序。
1.题目做一个简单的银行、账户演示程序。(1)定义一个账户类,包含用户名、密码、余额等属性、存钱、取钱等方法(4分)。(2)定义一个银行类,包含银行名、账户列表等属性,开账户、查账户的功能。账户列表可以使用集合相关的类,如ArrayList,最好同时使用泛型(4分)。(3)定义一个测试类及main函数,在其中创建一个银行,开设一些账号,模拟存钱、取钱、显示余额等(2分)。2.题解import java.util.ArrayList; public class MainTest { p原创 2020-10-08 10:36:37 · 1344 阅读 · 1 评论 -
【中国大学MOOC】java程序设计-week6-自定义一个异常类,注意其继承自系统的异常类,并要求有构造方法
1.题目Java的异常是比较独特的,它是程序安全稳定的重要措施。本次作业要求自定义异常并使用异常。(1)自定义一个异常类,注意其继承自系统的异常类,并要求有构造方法;(2)使用自定义的异常:要求在一个函数中抛出异常,在另一段程序中调用这个函数并捕获异常。评分标准:自定义异常类,继承自系统的异常(2分);异常类有构造方法(2分);异常类的构造方法中有一个链接内部异常(1分);有抛出异常(1分);在抛出异常的方法中有声明throws异常(1分);有异常捕获和处理(2分);整体程序比较合理(原创 2020-10-08 10:27:45 · 1608 阅读 · 0 评论 -
【中国大学MOOC】java程序设计-week5-附件是一个模拟事件消息订阅的程序,请阅读并修改
1.题目附件是一个模拟事件消息订阅的程序,请阅读并修改。主要是加上一个自已的订阅者,并且该订阅者要用匿名类来实现。(基本要求占8分)如果可以,也加上用Lambda来实现的订阅者。(较高要求,占2分)。附件链接:week5-NewsDemo.zip2.题解常规方法实现,匿名类,lambda表达式 三种方法如代码所示/** * 一个简单的新闻事件侦听演示程序 * @author tds * @author 修改者: */ public class NewsDemo { pub原创 2020-10-08 10:22:42 · 1678 阅读 · 0 评论 -
【中国大学MOOC】java程序设计-week4-编写一个小的程序,其中定义一些接口、类、抽象类,定义它们的成员(字段及方法)
1.题目编写一个小的程序,其中定义一些接口、类、抽象类,定义它们的成员(字段及方法), 要求使用使用setter/getter, static, final, abstract,@Override等语法要素,并写一个main函数来使用它们。这些类、接口可以是围绕以下选题之一飞翔世界:来一次飞翔接力(即多个可飞翔的对象依次调用);动物世界:来一次吃西瓜大赛;图书馆:模拟一天的借阅过程;学校:模拟选课过程;等等要求写个简要说明。2.题解public class MainTest { /原创 2020-10-08 10:12:31 · 1054 阅读 · 0 评论 -
【中国大学MOOC】java程序设计-week3-用“埃氏筛法”求2~100以内的素数
1.题目用“埃氏筛法”求2~100以内的素数。2~100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,……依此类推,最后剩下的就是素数。要求使用数组及增强的for语句。提示:可以使用一个boolean类型的数组,所以“将某个数i去掉”,可以表示成a[i]=false。当然也可以使用其他方法。请注意代码风格:类名、变量名的命名,以及必要注释等等;评分标准:使用了数组(3分);使用增强的for语句(2分);筛法求素数的功能正确(5分)。2.题解定义0-100的数组,如果是质数原创 2020-10-08 10:08:26 · 960 阅读 · 0 评论 -
【中国大学MOOC】java程序设计-week2-编写一个应用程序,验证以下等式是成立的
1.题目编写一个应用程序,验证以下等式是成立的:提示:if分支语句、for循环语句与C、C++是一样的。如果能完成上面的验证,则达到基本要求(可得到基本分数8分)。较高要求,可根据实际情况选做(可得到附加的2分):找到更多的这样的整数:一些相续正整数的立方和正好等于另一个整数的立方。2.题解验证不等式是否成立,直接按照题目要求编写即可;扩展要求:设定最大值数量为300,直接建立循环,搜索连续正整数的立方和是否可以开立方,如果可以开立方,则输出相关结果。public class homewo原创 2020-10-08 09:56:28 · 1023 阅读 · 0 评论