3.几何图形(满分50分)版本1:满分10分设计抽象类GeometricObject及其子类Triangle和Circle。
GeometricObject类设计要求如下:■一个名为color的Color类型的私有数据域,表示对象的颜色■一个名为filled的Boolean类型的私有数据域,表示对象是否■一个名为dateCreated的Date类型的私有数据域,表示对象的■一个无参构造方法。
■一个能创建特定color和filled的有参构造方法。
■相关数据域的访问器和修改器。
■两个个名为draw和erase的抽象方法。
■一个名为getArea的抽象方法。
■一个名为getPerimeter的抽象方法。
■重写toString方法。
Triangle类设计要求如下:■三个名为side1、side2和side3的double类型的私有数据域表们的默认值是1.0。
要求三个数据域保留2位小数。
■一个无参的构造方法创建默认三角形。
■一个能创建带指定side1、side2和side3的有参构造方法。
■所有三个数据域的访问器和修改器方法。
■父类抽象方法的实现。
■重写toString方法。
Circle类设计要求如下:■一个名为radius的double类型的私有数据域,表示圆的半径,数据域保留2位小数。
■一个名为PI的静态常量,其值为3.14■一个无参的构造方法创建默认三角形。
■一个能创建带指定radius的有参构造方法。
■radius数据域的访问器和修改器方法。
■父类抽象方法的实现。
■重写toString方法。
测试类TestGeometricObject1设计要求如下:■一个能随机生成Circle类和Triangle类对象的静态方法GeometricObject[]RandomCreateGeometricObject()■以随机生成的数组为参数,输出数组中每个对象的基本信息、周长和面积。
■类中其它方法的测试版本2:满分20分将上面的抽象类GeometricObject改为接口,接口只保留其中四个抽象方法,声明类Circle、Triangle实现该接口,类的基本要求如上,同时为每个类增加一个将当前对象序列化到指定文件的方法writeToFile(Filef)。
测试类TestGeometricObject2设计要求如下:■一个能随机生成Circle类和Triangle类对象的静态方法,该方法将随机生成的象序列化到指定的文件GeometricObjects.dat中,序列化成功返回真,否则返回假。
BooleanRandomCreateGeometricObject()■将GeometricObjects.dat文件中对象全部读出,存储到GeometricObject对象数组中,然后以此数组为参数,输出数组中每个对象的基本信息、周长和面积。
■类中其它方法的测试。
新增一个类Rectangle,也实现接口GeometricObject,同时修改测试类TestGeometricObject2,体会开-闭原则。
版本3:满分20分在第2步的基础上设计实现一个具有GUI界面的几何图形绘制系统系统,要求实现根据选择的几何图形类型来绘制和删除相应的图形,其中相关参数应通过界面输入,并可计算图形的周长和面积。
2024/7/31 3:21:55 23KB 几何图形 jpanel 课程设计CQUT xhay
1
sigmoid函数:nonlin(输出矩阵,矩阵,[是否求导(boolean)])底数矩阵:NumInd(输出矩阵,底常数,矩阵,[矩阵是否要系数(Double)])矩阵指数:ArrInd(输出矩阵,指常数,矩阵,[矩阵是否要系数(Double)])数加矩阵:NumAdd(输出矩阵,加常数,矩阵,[矩阵是否要系数(Double)])数减矩阵:NumSub(输出矩阵,被减数,矩阵,[矩阵是否要系数(Double)])数乘矩阵:NumDot(输出矩阵,被乘数,矩阵,[矩阵是否要系数(Double)])矩阵加法:ArrAdd(输出矩阵,矩阵A,矩阵B,[结果是否要系数(Double)])矩阵减法:ArrSub(输出矩阵,矩阵A,矩阵B,[结果是否要系数(Double)])哈达玛积:ArrDot(输出矩阵,矩阵A,矩阵B,[结果是否要系数(Double)])数乘矩阵:NumDot(输出矩阵,乘常数,矩阵)矩阵乘法:Dot(输出矩阵,矩阵A,矩阵B)矩阵可视化:ArrVis(矩阵)输出字符串转置矩阵:ArrT(输出矩阵,矩阵,[结果是否要系数(Double)])一维数组矩阵化:ArrA(输出矩阵,列数,一维数组)元素矩阵化:Arr(输出矩阵,列数,元素1,元素2,元素3...)矩阵绝对值:ArrAbs(输出矩阵,矩阵,[结果是否要系数(Double)])矩阵元素平均:Mean(矩阵)输出双精度小数随机小数矩阵:Rand(输出矩阵,行数,列数,[矩阵是否要系数])随机整数矩阵:intRand(输出矩阵,行数,列数,下限,上限)
2024/7/30 3:02:33 10KB VB 矩阵
1
BankAccountManagementSystem银行账户管理子系统简称BAMS这是一个基于C/S结构的银行账户在线管理系统,用户可以通过ATM终端界面来操作自己的银行账户.ATM1:要求1:封装一个Account类-业务数据写一个账户类(Account),属性并且完全封装(注意:要辨别每个属性的set/get方法是否需要公开):id:账户号码长整数(Long)password:账户密码字符串类型(String)name:真实姓名字符串类型(String)personId:身份证号码字符串类型(String)email:客户的电子邮箱字符串类型(String)balance:账户余额双精度(double)方法:deposit:存款方法,参数类型:double,返回类型:Accountwithdraw:取款方法,参数类型:double,返回类型:Account构造方法:有参和无参,有参构造方法用于设置必要的属性ATM2:要求1:完成以下两种账户类型的编码。
银行的客户分为两大类:储蓄账户(SavingAccount)和信用账户(CreditAccount),两种的账户类型的区别在于:储蓄账户不允许透支,而信用账户可以透支,并在用户在满足银行条件的情况下允许用户调整自己的透支额度.注意:1、CreditAccount需要多一个属性ceiling透支额度;
2、CreditAccount需要覆盖(重写)Account中的取款方式withdraw()。
要求2:完成Bank类的编码。
属性:1.当前所有的账户对象的信息,存放在数组中:Account[].2.当前账户数量index.方法:1. 用户开户(register)参数列表:Long账号,String密码,String确认密码,String姓名,String身份证号码,String邮箱,int账户类型;
(Longid,Stringpassword,Stringrepassword,Stringname,StringpersonID,Stringemail,inttype)返回类型:Account项目需求规定账户类型:0–储蓄账户1–信用账户2–可贷款储蓄账户3–可贷款信用账户2. 用户登录(login)参数列表:Long账号,String密码;
(Longid,Stringpassword)返回类型:Account3. 用户存款(deposit)参数列表:Long账号,double存款金额;
(Longid,doublemoney)返回类型:Account4. 用户取款(withdraw)参数列表:Long账号,String密码,double取款金额;
(Longid,Stringpassword,doublemoney)返回类型:Account5. 设置透支额度(updateCeiling)参数列表:Long账号,String密码,double透支额度金额;
(Longid,Stringpassword,doublemoney)返回类型:Account提示:这个方法需要验证账户是否是信用账户6. 转账功能(transfer)参数:from转出账户,passwordFrom转出账号的密码,to转入账户,money转账的金额(Longfrom,StringpasswordFrom,Longto,doublemoney)返回值:boolean要求3:另外,请为Bank类添加几个统计方法1.统计银行所有账户余额总数2.统计所有信用账户透支额度总数要求4:编写测试类写个测试类,测试以上代码能否正常工作。
要求5:覆盖toString方法查看对象的内容。
ATM3:要求1:让银行来提供账号(id)的生成修改Account类和Bank类,银行用户的账号(id)应是自动生成的,初始值为:862150212013020001(国家+邮编+年+月+序号)。
比如:第一个开户的账号为862150212013020001,第二开户的账号为862150212013020002…依此类推.要求2:修改存款和取款方法对于Account类中的存款方法和取款方法进行修改.存款方法:改为不允许子类修改取款方法:改为抽象方法,便于在子类中去覆盖(重写)要求3:单例将Bank类作成单例。
提醒:一定要理解使用单例模式的原理。
ATM4:要求1:新增一个贷款功能为了满足业务发展的需求,银行需要为用户提供贷款的功能,来满足更多的用户需求。
抽象出一个贷款功能的接口:Loanable该接口具有以下功能:a) 贷款(requestLoan)参数:money贷款金额返回类型:Accountb) 还贷(payLoan)参数:money还贷款金额返回类型:Account提醒:一定要理解抽象接口的原理和真实含义。
要求2:新增两种的新的账户类型为了满足业务发展的需求,新增两种具有贷款功能的账户类型:可以贷款不可以透支账户和可以贷款可以透支账户;
为SavingAccount和CreditAccount各自添加一个子类LoanSavingAccount类和LoanCreditAccount类,同时让两个新增的子类都必须要实现Loanable接口。
为了表示某个贷款账户的贷款金额,需要为所有的可贷款账户提供一个能记录贷款金额,所以要为CreditAccount类整一个普通的成员属性loanAmount,为长整形(long)。
说明1:LoanSavingAccount类表示该账户可以贷款,不可以透支;
LoanCreditAccount类表示该账户可以贷款,可以透支。
说明2:贷款和透支是不一样的,透支指的是账户余额小于0,而贷款用户需要一个贷款额的属性.在ATM机上,用户可以选择贷款,也可以选择还贷款,而还贷款就是要把账户余额上的资金转到贷款额上例如:用户余额10000元,贷款额100000元,用户可以选择还款5000元,则用户余额变为5000,贷款额变为95000元.要求3:为Bank类添加三个新方法a) 贷款(requestLoan)参数:id账户,money贷款金额(Longid,doublemoney)返回类型:Accountb) 还贷款(requestLoan)参数:id账户,money还贷款金额(Longid,doublemoney)返回类型:Accountc) 统计所有账户贷款的总额(totoal)参数:无返回类型:doubleATM5:要求1:修写Bank类,采用集合的方式来管理多个Account对象注意:通过分析每种集合的具体功能和特性后,选择合适的集合类型实现该功能。
要求2:为Bank类添加一个方法,能够打印所有用户的总资产排名(提高部分)说明:1)、一个用户可能会有多个账号,以身份证号为准.2)、总资产指多个账户余额的总和,不需要考虑贷款账户的贷ATM6:Exception要求1:为ATM增加业务异常类:ATMException:ATM业务异常基类。
BalanceNotEnoughException:用于取钱的时候余额不足的情况(包括账户余额超过透支额的情况)RegisterException:用于开户异常的情况,例如密码两次输入不一致等情况LoginException:用户登录异常的情况,例如id错误,密码错误LoanException:贷款额不能为负数,如果用户试图将贷款额置为负数,则会抛出这个异常注意:在此异常的基础也可以继续扩展适合业务的异常类。
ATM7:SwingGUI开发第一步部分:为ATM项目添加用户客户端操作界面需要以下几个类:1) ATMClient:其中会包含一个Frame,这是用户主界面.2) MainPanel:主界面,用户可以选择开户或者登录3) RegisterPanel:用户开户具体用到的界面4) LoginPanel:用户登录需要的界面5) BusinessPanel:界面上会显示账户的功能,至少包括存款\取款\对于可透支的用户,允许用户修改透支额度\对于贷款用户,允许用户贷款和还贷款\转账。
第二步部分:为用户客户端操作界面添加事件处理要求:在开户或者登录之后都会跳到BusinessPanel,而用户点击了交易之后,界面停留在BusinessPanel要随时注意在BusinessPanel上根据数据的变化更新显示信息。
ATM8:I/O&File项目详细内容介绍1、 分析:将账户对象保存文件中,前期为新的账户对象分配id的做法(使用static特性)不再合适现今业务需求,也应相应的改变。
解决方案:将下一个可用的id存放在文件中,每创建一个新对象的时候都会读取这个文件,获得新对象的id,并且修改文件中的id,使其加1后,再保存到文件中。
2、 修改Bank类中各个业务方法分析:要将账户信息全部保存到文件中,然后再从文件读取到内存中进行业务操作,而后再将处理完的业务对象重新保存到文件中永久保存起来。
解决方案:1)采用对象序列化和反序列化技术。
2)将全部账户信息采用对象序列化的方式存放在文件中。
提示:1) 使用文件来保存各种账户的信息,将注册、存款、取款、转账、修改之后的信息要及时的保存到文件中,时刻保证内存和文件中数据的一致性。
2) 采用何种存放方式,自由发挥决定。
ATM9:NetWork分析:在现有的ATM中,用户是通过界面直接访问Bank对象,这种方式不符合业务需求,因为银行后台是受保护的绝对安全的业务操作,所以将其改为C/S结构,由界面充当客户端,通过TCP协议访问服务器端的核心业务对象(Bank对象).解决方案:1) 多线程技术2) 网络编程技术3) 需要完成服务端的编程,负责完成接收客户端的请求和相关业务处理。
注意:如何保证多个客户端同时登陆,并且保证业务数据在冲突的情况下,不能受到破坏。
提示:客户端和服务器端需要通过对象(TO)来传递信息,,这里会使用对象序列化技术.
2023/12/19 22:45:04 186KB java ATM
1
Gitlab合并请求支持自述文件借助Gitlab合并请求支持,您可以轻松地遵循GitLabMR上的支持或批准。
扩展的树形视图将显示您在实例创建的MR上的投票(或批准)。
产品特点添加GitLab实例删除GitLab实例在树状视图中列出GitLab实例列出合并请求及其投票和标题。
单击合并请求项以打开MR网页。
树视图在专用预览中关注更新。
项目是可单击的,并将在您的默认浏览器中打开MR。
扩展设置此扩展程序提供以下设置:gitlab-merge-request-upvotes.refresh.interval:number的每个刷新之间秒。
gitlab-merge-request-upvotes.refresh.enable:boolean用于启用或禁用自动刷新。
gitlab-merge-request-upvotes.upvotes.type:upvotes|approvals使用upvotes或approvals。
发行说明参见
2023/8/28 11:30:21 2.89MB gitlab vscode code-review vscode-extension
1
模拟风扇(满分50分)版本1:满分15分模拟实现电风扇,可以调3档速度(慢速、中速、快速);
开关按钮;
定时吹风;
描述风扇的扇叶大小、颜色等。
设计Fan类,属性包括:3个常量SLOW(1)、MEDIUM(2)、FAST(3)代表风扇的速度;
1个int属性speed指定速度,默认值为SLOW;
1个boolean属性on指定开关机,默认值false;
1个double属性radius指定风扇扇叶大小;
1个String属性color指定扇叶颜色,默认值为blue。
方法包括这些属性的访问器、构造函数、重写Object类的toString()和equals()方法等。
运行测试代码:publicstaticvoidmain(String[]args){Fan1fan1=newFan1();fan1.setSpeed(Fan1.FAST);fan1.setRadius(10);8fan1.setColor("yellow");fan1.setOn(true);System.out.println(fan1.toString());}版本2:满分15分修改版本1中Fan类,让其继承JPanel类,并且把color属性设置为Color类型,默认属性为red。
随机产生radius,取值范围为1-5;
随机产生颜色,取值范围为red、blue、yellow、green、orange;
根据color、radius属性值绘制风扇。
版本3:满分20分让版本2中的风扇转起来。
创建一个FanControl类包含以下内容:Start、Stop、Reverse按钮,用于开启、关闭、反转控制;
一个滚动条控制速度。
2023/7/13 12:39:49 17KB 风扇 java 三个版本
1
许多面试题是我自己面试BAT亲自阅历碰着的。
收拾分享进去阻滞更多的前端er怪异普及吧,不光适用于求职者,对于牢靠温习前端底子更是大有裨益。
而更多的题目是我一起以来凑集的,也有本年的,谜底不确保未必准确,若有差迟或者有更好的解法,还请更正。
前面多少题是会很底子,越下越有深度。
1.JavaScript是一门甚么样的语言,它有哪些特色?不尺度谜底。
2.JavaScript的数据尺度都有甚么?底子数据尺度:String,boolean,Number,Undefined,Null援用数据尺度:Object(Array,Date,RegExp,Function)那末下场来了,若何分辨某变量能否为数组数据尺度
1
DescriptionObject-orientedlinearalgebraandnumericalmethodslibraryinObjectPascal-DynamicIntegef,Float,String,Boolean,Complexarrays-Input/Outputroutines-LinearAlgebra,Numericalmethods,Optimization,Signal/Dataprocessing
2023/3/13 4:26:06 754KB delphi  matrix linear alg
1
代码范例列表第1章示例描述:本章演示如何开始使用JDK进行程序的开发。
HelloWorldApp.java第一个用Java开发的应用程序。
firstApplet.java第一个用Java开发的Applet小程序。
firstApplet.htm用来装载Applet的网页文件第2章示例描述:本章引见开发Java的基础语法知识。
accumulationByDoWhile.java用do~while语句写的累加程序accumulationByFor.java用for语句写的累加程序accumulationByWhile.java用while语句写的累加程序boolExample.java演示boolean变量的程序charExample.java演示char变量的程序compare.java演示前缀、后缀自加之间区别的程序constCharExample.java演示转义字符converseNumber.java逆向输出数字daffodilNumber.java求水仙花数division.java演示整除结果errorCompoundVariable.java错误使用局部变量示例factorial.java求阶乘Fibonacci.java求Fiblnacci数列GcdAndGcm.java求最大公约数和最小公倍数errorInit.java演示变量初始化错误的程序integerExample.java演示各种整型变量的使用isPrime.java判断素数leapYearByIf.java用if语句判断闰年leapYearByLogical.java用逻辑表达式判断闰年lowToUpper.java小写字母转换成大写字母lozengeStar.java输出一个由*组成的菱形multiplyTable.java求乘法口诀表narrowingConversion_1.java缩减转换引发错误示例1narrowingConversion_2.java缩减转换引发错误示例2notMultipleOfThree.java把100-200之间不能被3整除的数输出outputByDoWhile.java用while循环随机输出数据outputByWhile.java用do~while循环随机输出数据outputMax.java求两个数中的最大数overflowExample.java演示溢出precedence.java演示自加运算符的优先级primeNumber.java输出100-200之间的所有素数ranking.java评定成绩等级rankingBySwitch.java用switch语句评定成绩等级realExample.java演示浮点数的有效位数remainder.java取余运算示例showBreak.java利用标号语句跳转出所有循环嵌套showCount.java循环计数示例showDoubleLoop.java演示双重循环showDoubleLoopSe.java改进的双重循环showOrder_1.java演示操作数求值顺序示例1showOrder_2.java演示操作数求值顺序示例2sign.java用条件运算实现符号函数示例signByIF.java用if语句实现符号函数示例triangleStar.java输出一个由*组成的直角三角形upperToLowCase.java大写转换成小写variableScopeExample.java变量使用范围示例第3章示例描述:本章学习对象和类。
accessMember.java访问成员变量示例constructNoPara.java无参数的构造方法constructWithPara.java带参数的构造方法declareDefault.java缺省访问权限的使用declarePrivate.java私有访问权限的使用dec
2023/2/12 3:33:31 1.11MB Java 开发技术 500 源代码
1
一个babel插件,用于从Flow类型声明中生成ReactPropTypes定义。
例子使用此输出:varReact=require('react');exporttypeQux={baz:'literal'};importtypeSomeExternalTypefrom'./types';typeFooProps={an_optional_string?:string,a_number:number,a_boolean:boolean,a_generic_object:Object,array_of_strings:Array,instance_of_Bar:Bar,anything:any,mixed:mixe
2016/1/11 8:45:11 385KB JavaScript
1
poi解析excel功能参数说明此项目是基于springMVC实现的,基本流程为从前台jsp页面使用Ajax文件上传导入excel文件(.xls(97-03)/.xlsx(07以后)),传到后台controller调用相应工具类解析后前往指定参数做后续处理.1.POIUtil.java工具类解析通过MutilpartFile导入的Excel并解析里面数据,先判断文件的类型(excel处理有两种此处为两种通用)是.xls/.xlsx,通过workbook.getNumberOfSheets()获取工作簿数量,遍历工作簿,sheet.getLastRowNum()获取最大行数,将每行数据放入Listlist=newArrayList(),并根据excel数据类型将器转换为字符串、数字、Boolean、公式、空值类型防止出现错误,最后前往一个list.2.ExcelUtil.java工具类解析通过MutilpartFile导入的Excel并解析里面数据,先判断文件的类型(excel处理有两种此处为两种通用)是.xls/.xlsx,采用Apache的POI的API来操作Excel,读取内容后保存到List中,再将List转Json(使用Linked,增删快,与Excel表顺序保持一致),Sheet表1————>List1步骤1:根据Excel版本类型创建对于的Workbook以及CellSytle步骤2:遍历每一个表中的每一行的每一列,这里做了些小改动,因为后续可能解析过后可能会保存入数据库,这里为第一行数据添加一个自定义表头String[]p=newString[]{"name","age","sex","tel","address","e-mail","phone"};遍历的列数量以p的length为准步骤3:一个sheet表就是一个Json,多表就多Json,对应一个List一个sheet表的一行数据就是一个Map一行中的一列,就把当前列头为key,列值为value存到该列的Map中Map一个线性HashMap,以Excel的sheet表顺序,并以sheet表明作为key,sheet表转换Json后的字符串作为value最后前往一个LinkedHashMap3.ExcelToJsonPoi.java工具类这个与上面工具类类似,不过这个是解析本地excel文件不是使用的流,使用迭代遍历sheet工作簿与每行每列的值,将所有类型作为String类型处理前往一个json对象输出至控制台
2021/10/17 15:09:19 51.92MB poi解析excel
1
共 11 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡