1.账户类(满分50分)版本1:满分10分设计Account1类,包含:■一个名为id的int类型的私有数据域(默认值为0),长度为6位。
■一个名为balance的double类型的私有数据域(默认值为0)。
■一个名为annualInterestRate的double类型的私有数据域存储当前利率(默认值为0)。
假设所有的账户都有相同的利率。
■一个名为dateCreated的Date类型的私有数据域存储账户的开户日期。
■一个能创建默认账户的无参构造方法。
■一个能创建带特定id和初始余额的构造方法,初始余额不能为负数。
■id、balance和annualInterestRate的访问器和修改器。
■dateCreated的访问器。
■一个名为getMonthlyInterestRate的方法返回月利率。
■一个名为withDraw的方法从账户提取特定金额。
■一个名为deposit的方法向账户存人特定金额。
■double类型的数据域保留2位小数。
■成员方法和数据域应进行基本的合理性检查。
设计测试类ATMMachine1:■创建一个有100个账户的数组,其id为0,1,2,...99,并初始化收支为1000美元。
■主菜单如下(可参考教材中文版P296或英文版P367):Mainmenu1:checkbalance2:withdraw3:deposit4:exit版本2:满分20分扩展Account1类为Account2类:■Account2类继承Account1类。
■为Account2类新增一个名为password的String类型的私有数据域存储账号密码。
password只能为字母或数字,长度不能小于6且不能大于10。
密码显示时为*******。
■为Account2类新增一个名为name的String类型的私有数据域存储客户名字。
■为Account2类新增一个名为transactions的ArrayList类型的新数据域,其为客户存储买卖记录。
这要求新建一个名为Transaction的类,类的定义请参照教材中文版P327或英文版P404。
每笔买卖都是Transaction类的一个实例。
■新增一个带初始余额的构造方法,其id随机产生,但不能与当前系统的id重复。
若初始余额的参数为负数,则抛出一个自定义异常并在当前构造方法中进行处理。
■重写方法withDraw,要求支取的金额为100的整数倍,并且当日支取金额不能超过5000,支取金额不允许透支。
每进行一次操作应向transactions数组线性表添加一笔买卖。
■重写方法deposit,要求每进行一次操作应向transactions数组线性表添加一笔买卖。
■新增一个方法changePassword,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码设计测试类ATMMachine2,其主菜单如下(可参考教材中文版P296或英文版P367):Mainmenu0:createaaccount1:checkbalance2:withdraw3:deposit4:detailsofthetransaction5:changepassword6:exit■若用户选择新建一个账号,则应提示用户输入账号password、balance和annualInterestRate,其中id随机产生。
新产生的账户应序列化到名为accounts.dat的文件中。
所有账户只能通过这种方式产生。
■所有用户操作结果应同步到accounts.dat文件中相应账户中。
■所有用户操作应有友好、简介的提示语。
版本3:满分20分请参照银行的ATM机界面,在Account2类的基础上开发一个GUI界面的ATM系统。
要求界面应模拟小键盘,并且账户信息读、写于文件accounts.dat。
2018/6/25 8:47:38 133KB 账户类 ATM
1
RSA算法的纯Python实现,压缩包内共4个文件,分别是1、大整数的运算库(当然不是算加减乘除的,这个python本身就有)。
这个库是计算乘模运算,幂模运算(蒙哥马利算法),最大公约数算法及扩展最大公约数算法(扩展欧几里得算法)等。
2、质数库。
Miller_Rabin素数判断法,大整数快速因式分解算法(pollard_rho算法),生成指定位数的大质数或大整数算法等。
3、RSA算法库。
使用上面两个库,实现RSA算法。
实现了生成指定数位的密钥对,加密,解密,签名和验证,这5个核心功能。
4、RSAtest.py一个使用RSA算法库的例子。
例子从生成密钥对开始,对数据进行加解密,签名和验证签名,最后用修改后的消息再次验证签名。
这个RSA算法最低支持32位密钥长度,最长没限制。
但是现实上,在我的电脑上测试,1024位大概1.3秒左右,1536大约5~6秒,2048位密钥生成就需要约27秒。
这次发布的是源码,里面有详细的中文注释,十分适合希望学习RSA算法原理的人。
RSA算法原理基于两个大质数的乘积很难因式分解,几种算法的优劣主要体现在质数判断、快速乘模运算、快速幂模运算等。
如需实际应用建议使用大能们的实现:https://pypi.python.org/pypi/rsa/
2020/2/14 21:45:34 16KB RSA Python 源码
1
设计二进制的大整数乘法,要求利用分治的思想编写递归算法,并可以实现多位数(位数n是2的整数幂)的乘法(利用数组实现),给出程序的正确运转结果。
2018/4/22 6:13:44 61KB 大整数乘法 二进制大整数乘法
1
有关GAMS的语法和特性引见,以及用GAMS求解混合整数规划,非线性规划和随机规划问题
1
★问题描述:给定一个赋权无向图G=(V,E),每个顶点v∈V都有一个权值w(v)。
如果U∈V,且对任意(u,v)∈E有u∈U或v∈U,就称U为图G的一个顶点条覆盖.G的最小权顶点覆盖是指G中所含顶点权之和最小的顶点覆盖。
★算法设计:对于结定的无向图G,设计一个优先队列式分支限界法,计算G的最小权顶点覆盖。
★数据输入:由文件input.txt给出输入数据。
第1行有2个正整数n和m,表示给定的图G有n个顶点和m条边,顶点编号为1,2,.....,n.第2行有n个正整数表示n个顶点的权.接上去的m行中,每行有2个正整数u,v,表示图G的一条边(u,v)。
★结果输出:将计算出的最小权顶点覆盖的顶点权之和以及最优输出到文件output.txt.文件第1行是最小权顶点覆盖顶点权之和;第2行是最优解xi,1≤i≤n,xi=0表示顶点i不在最小权顶点覆盖中。
2015/2/20 23:57:17 363KB 最小权顶点覆盖问题
1
RISC_V多周期CPU设计,里面包含基于最新提出的RISC_V指令集设计的多周期CPU,使用Verilog语言,代码正文详细,提供官方给出的测试样例,RV32I基本整数指令四十多条指令都有实现,波形仿真通过。
2018/9/6 6:24:35 60KB RISC_V 多周期CPU Verilog
1
V3.9:缩小广告位窗口,优化程序,使登录速度迅速提升。
修复未设置小数位时,只能显示整数的BUG。
增加输入金额时语音报数功能。
升级打印模块,使功能更简约方便。
增加分类汇总功能。
DIY补充:如果觉得图片和界面不是很协调,可以把文件夹内的xzb.jpg图片文件删除即可(要把文件夹选项勾选为才能看见此文件)或者把自己喜欢的jpg格式图片改名为xzb.jpg替换文件夹内的图片文件也可,不过图片尺寸必须728*128,否则显示会失真).
1
对于给定的n个正整数,设计一个优先队列式分支限界法用最少的无优先级运算次数产生整数m用文字来描述你的算法思路,包括解空间、限界函数、算法次要步骤等。
在Windows环境下使用C/C++语言编程实现算法。
记录运行结果,包括输入数据,问题解答及运行时间。
分析算法最坏情况下时间复杂度和空间复杂度。
2018/11/11 20:41:37 150KB C语言
1
用汇编语言写的一个小程序,允许用户从键盘输入带符号的整数,然后采用冒泡排序算法对输的数据排序。
最初将排序后的数依次输出。
2018/11/7 3:47:26 11KB 冒泡排序 汇编语言
1
长整数乘法课设,长整数乘法课设,长整数乘法课设,长整数乘法课设长整数乘法课设长整数乘法课设长整数乘法课设
2015/7/25 7:39:03 5KB asm
1
共 385 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡