题目详情
当前位置:首页 > 职业培训考试
题目详情:

[简答题]编写用数组实现不超过200位的大整数的类BigInteger,要求提供大整数的加运算。

参考答案:程序如下(本题解决思路比较多,这是其中之一,代码也可以不用像本程序考虑这么多):
方法一:
class BigInteger
{
final int L=200;//处理不超过200位的大整数运算
char a[]=new char[L],b[]=new char[L],c[]=new char[L];//a,b,c三个字符数组用于存放处理后的加数、被加数及结果
int an,bn;
BigInteger(){}//无参构造函数
BigInteger(char aa[],char bb[])//传两个字符数组作为加数、被加数
{
System. out. println(aa);
System. out. println(bb);
an=aa. length;bn=bb. length;
a=aa;b=bb;//把传来的字符数组分别放入a和b中
int i;
for(i=0;i<a.length/2;i++)//让a数组中的数字逆序,个数在0下标
{
char c=[i];a[i]=a[an-i-1];
a[an-i-1]=c;
}
for(i=0;i<b.length/2;i++)//让b数组中的数字逆序,个数在0下标
{
char c=b[i];b[i]=b[bn-i-1];
b[bn-i-1]=c;
}
}
BigInteger(String aa,String bb)//传两个字符串作为加数、被加数
{
System. out. println(aa+"/n"+bb);
an=aa.length();
bn=bb.length();
int i;//以下是取字符串中内容逆序放入a和b中
for(i=an-1;i>=0;i--)
a[an-1-i]=aa.charAt(i);
for(i=bn-1;i>=0;i--)
b[bn-1-i]=bb.charAt(i);
}
void add(String aa,String bb)//设计了带有两个字符串参数的add成员方法
{
System. out. println(aa+"/n"+ bb);
an=aa.length();
bn=bb.length();
int i;
for(i=an-1;i>=0;i--)
a[an-1-i]=aa. charAt(i);
for(i=bn-1;i>=0;i--)
b[bn-1-i]=bb.charAt(i);
add();
}
void add()//无参的add成员方法,完成大整数加运算
{
int j=bn,i,x,y,z;
if(an<bn)j=an;//找出两个操作数中短的那个数,加运算时以此为准
for(i=0;i<L;i++) c[i]=’0’;//使结果数组c中全为字符0
for(i=0;i<j;i++)//取出a和b中相对应的数字存入x,y中,z=x+y+进位
{
x=(a[i]-48);//字符转数字
y=(b[i]-48);
z=x+y+c[i]-48;
if(z>9)c[i+1]=’1’;//如果需要进位,使c的高下标为字符1
c[i]=(char)(z%10+48);//考虑可能有进位,不能使用c[i]=z+48
}
if(an>bn)//当b中数据运算完时
while(i<an)//把a中剩余的数字全部加到c中
{
c[i]=(char)((int)c[i]+(int)a[i]-48);
if(c[i]>’9’)
{c[i+1]=’1’;c[i]-=10;}
i++;
}
else//当a中数据运算完时
while(i<bn)//把b中剩余的数字全部加到c中
{
c[i]=(char)((int)c[i]+
(int)b[i]-48);
if(c[i]>’9’)
{c[i+1]=’1’;c[i]-=10;}
i++;
}
if(c[i-1]>57)
{c[i]=49;c[i-1]-=10;}//最高位如有进位,需要进位
if(an> bn)
j=an;else j=bn;//找出长的那个数,输出时以此为准
while(c[j]==’0’)j--;//准备逆序输出,去掉多余的前导0
for(i=j;i>=0;i--)System. out. print(c[i]);//逆序输出运算结果
System. out. println(’/n’);
}
}
public class Class38
{
public static void main(String[] args)
{
char a1[]={’9’,’9’,’9’,’2’,’3’,’1’};
char a2[]={’7’,’8’,’1’};
BigInteger B=new BigInteger(a1,a2);//为构造方法传字符数组
B.add();
String s1="9234",s2="789";
(new BigInteger(s1,s2)).add();//为构造方法传字符串
BigInteger C=new BigInteger();
C.add(s1,s2);//为成员方法传字符串
}
}
方法二:
class BigInt
{
final int L=200;
byte a[]=new byte[L],b[]=new byte[L],c[]=new byte[L];
int an,bn;
BigInt()
{
}
BigInt(String aa,String bb)
{
Stringtobyte(aa,bb);
}
void Stringtobyte(String aa,String bb)
{
System. out. print(aa+"+"+bb+"=");
an=aa.length();
bn=bb.length();
byte tempa[]=aa.getBytes();
byte tempb[]=bb.getByLes();
int i;
for(i=an-1;i>=0;i--)
a[an-1-i]=tempa[i];
for(i=bn-1;i>=0;i--)
b[bn-1-i]=tempb[i];
for(i=bn;i<L;i++) b[i]=’0’;
}
void add(String aa,String bb)
{
Stringtobyte(aa,bb);
add();
}
void add()
{
int i,x,y,z;
for(i=0;i<L;i++) c[i]=’0’;
for(i=0;i<L;i++)
{
x=(a[i]-48);
y=(b[i]-48);
z=x+y+(c[i]-48);
if(z>9) c[i+1]=’1’;
c[i]=(byte) (z%10+48);
i=L-1;
while(c[i]==’0’) i--;
for(;i>=0;i--)
System. out. print((char) c[i]);
System. out. println(’/n’);
{
{
public class Class382
}
public static void main(String[] args)
{
(new BigInt("9234","789")).add();
(new BigInt()).add("99999999999999999","222222222222222222222");
}
}
方法二输出结果:
9234+789=111+222=333
99999999999999999+222222222222222222222=222322222222222222221

热门试题:

第1题: [单项选择]大型建筑工程或结构复杂的建筑工程,可由两个以上的承包单位联合共同承包。联合共同承包的各方,对承包合同的履行承担()。
A. 各自相应的责任
B. 连带责任
C. 经济责任
D. 社会责任
参考答案:B

第2题:
[判断题]测量时宜使用高压屏蔽线且内屏蔽层(或单屏蔽的屏蔽层)应接G端子,双屏蔽线外屏蔽应当接地。若无高压屏蔽线,测试线不要与地线缠绕,应尽量悬空。
A.正确
B.错误
参考答案:A


第3题:
[多选题]对消防设施的消防监督检查主要包括(  )
A.火灾自动报警系统
B.自动灭火系统
C.消火栓系统
D.防烟排烟系统
E.应急广播和应急照明和安全疏散设施
参考答案:ABCDE


第4题:
[填空题]根据《广州动车段动车组高级修一体化作业管理办法》要求, 等高级修车间负责一体化作业的具体组织和落实,实行 负责制,由车间调度具体组织、协调、指挥各专业作业组开展动车组高级修一体化作业。
参考答案:检修、转向架、检测,车间主任


第5题:
[判断题]旅客列车运行途中甩挂车辆时,车辆的摘挂、软管摘接,由调车人员负责。()
A.正确
B.错误
参考答案:A


第6题:
[填空题]在接近接触网带电部分( )的建筑物上施工时,接触网可不停电。为确保安全,人员、机具、材料等与接触网带电部分应至少保持2m距离。
参考答案:2~4 m
可不停电,有范围

第7题:
[判断题]《工伤保险条例》规定了工伤保险基金组成和征收办法。工伤保险费由个人缴纳。
A.正确
B.错误
参考答案:B


第8题: [单项选择]
烟卷式引流通常在术后多长时间拔除()。
A. 2~3小时
B. 3天内
C. 4~8小时
D. 8~10小时
E. 10天内
参考答案:B
答案解析:烟卷式引流物大都在术后72小时内拔除。

第9题:
[判断题]南方电网公司电能计量管理规定3.20。同一事件引起单相电能表损坏200只、三相电能表损坏50只以上属于重大电能计量事件
A.正确
B.错误
参考答案:B


第10题:
[单选题]反渗透不可去除 。
A.有机物
B.阴阳离子
C.气体
D.悬浮物
参考答案:C


第11题: [单项选择]
女,45岁。1天前进多脂餐后出现右上腹剧烈绞痛,阵发性加剧,并向右肩背部放射,伴恶心、呕吐、发热,体温38℃。该患者最可能的诊断是()
A. 肝脓肿
B. 胃溃疡穿孔
C. 急性肺栓塞
D. 急性胆囊炎
E. 急性胰腺炎
参考答案:D
答案解析:

进多脂餐后出现右上腹剧烈绞痛,阵发性加剧,并向右肩背部放射,是典型的急性胆囊炎的临床表现。



第12题: [单项选择]
电气控制线路中的启动按钮应用()颜色。
A. 绿
B. 红
C. 蓝
D. 黑
参考答案:A

第13题:
[判断题]井控风险是集团公司安全生产“八大风险”之首。
A.正确
B.错误
参考答案:A


第14题: [单项选择]
采用平行登记规则,同一项经济业务,应根据审核后的会计凭证,记入有关的()
A. 总账及所属明细账
B. 汇总凭证与有关账户
C. 各有关总分类账
D. 各有关明细分类账
参考答案:A
答案解析:采用平行登记规则,同一项经济业务,应根据审核后的会计凭证,记入有关的总分类账户及其所属的明细分类账户。

第15题: [单项选择]
世界著名的欧士坦牛的原产地是在()。
A. 德国
B. 西班牙
C. 俄罗斯
D. 荷兰
参考答案:D

第16题:
[单选题]打开()时应在通风柜中进行。
A.A.浓硫酸.乙醇.浓磷酸试剂瓶塞
B.B.浓氢氢化钠溶液.浓磷酸.浓醋酸试剂瓶塞
C.C.浓氢氢化钠溶液.乙醇.浓硫酸试剂瓶塞
D.D.浓盐酸.浓硝酸.浓氨水试剂瓶塞
参考答案:D


第17题: [多项选择]
霍乱的病因为
A. 饮食不洁
B. 情志所伤
C. 感受时邪
D. 脾胃虚弱
参考答案:A,C

第18题: [单项选择]
19世纪初期,英国古典经济学的杰出代表人物是().
A. 西斯蒙第
B. 李嘉图
C. 萨伊
D. 马尔萨斯
参考答案:A

第19题:
[单选题]各类集贸市场应当建立()。
A. 公安消防队
B. 职业消防队
C. 专职消防队
D. 义务消防队
参考答案:D


第20题:
[多选题]根据资源税暂行条例,下列说法正确的是( )。
A.出口的应税矿产品免征资源税
B.纳税人以自产的液体盐加工固体盐,按固体盐税额征税
C.资源税采取从量定额的办法计征
D.纳税人的减免税项目无需单独核算销售额或销售数量
E.对衰竭煤矿开采的煤炭,资源税减征30%
参考答案:BE
【知识点】资源税。进口的矿产品和盐不征收资源税,出口应税产品不免征或退还已纳资源税,选项A错误。资源税采用从价定率或从量定额的税率,选项C错误。资源税纳税人的减免税项目,应当单独核算销售额或者销售数量;未单独核算或者不能准确提供销售额或者销售数量的,不予减税或者免税,选项D错误。

第21题:
[多选题]10 kV架空电力线路导线巡视时应检查电力线路与( )交叉接近距离是否符合规定。
A. 铁路
B. 公路
C. 电力线路
D. 建筑物
参考答案:ABCD


第22题:
[单选题]以下关于红外线生命探测仪描述正确的是()
A.受温度影响严重
B.空间传播衰减大
C.水、冰、泥土阻挡失效
D.易受环境杂物反射干扰
参考答案:A


第23题:
[单选题]公共服务设施如卫生间、公共电话、信息查询机、警务室等位置标志应设置在相应设施的( )位置
A.上方
B.下方
C.左方
D.右方
参考答案:A


第24题: [单项选择]
建设单位在试生产和设备调试阶段,应同时对( )进行试生产和设备调试,并对其效果做出评价。
A. 劳动安全技术
B. 劳动安全教育
C. 劳动安全常识
D. 劳动安全卫生设施
参考答案:D
答案解析:[解析] 在试生产和设备调试阶段,同时也要对劳动安全卫生设施进行试生产和设备调试。

第25题:
[判断题] 同一个违法行为违反多个法律规范应当给予罚款处罚的,按照罚款数额低的规定处罚
A.正确
B.错误
参考答案:B


第26题: [单项选择]
关于有效毛收入的计算公式,正确的是( )。
A. 有效毛收入=潜在毛租金收入-空置损失+收租损失+其他收入
B. 有效毛收入=潜在毛租金收入+空置损失+收租损失+其他收入
C. 有效毛收入=潜在毛租金收入-空置损失-收租损失+其他收入
D. 有效毛收入=潜在毛租金收入+空置损失-收租损失+其他收入
参考答案:C

第27题: [单项选择]
冷冻商品除放在冷冻岛柜外,还可存放在()
A. 干货仓库
B. 冷藏库
C. 冷冻库
D. AB库
参考答案:C

第28题:
[判断题]高压侧核相宜采用无线核相器。
A.正确
B.错误
参考答案:A


第29题:
[单选题]变压器铭牌上标注有额定电压Ue+5%,是说明该变压器是( )。
A.有载调压
B.一级调压
C.无载调压
D.三级有载调压
参考答案:B


第30题:
[单选题]位于棘突间的韧带是
A.前纵韧带
B.后纵韧带
C.椎间韧带
D.棘上韧带
E.黄韧带
参考答案:C


第31题: [单项选择]
商业银行的证券业务限于( )。
A. 股票业务
B. 金融期货业务
C. 可转换公司债券业务
D. 国债业务
参考答案:D

第32题: [名词解释]
典型人物的共性
参考答案: 指典型人物应当具有高度的概括性、普遍性,能概括一个较大范围内的社会生活本质内容。

第33题:
[判断题]购买流程、物流信息、质量保证说明、售后服务等是属于文字说明里面的商品介绍。
A.正确
B.错误
参考答案:A


第34题:
[多选题]国际上期货交易的常用指令包括( )。
A.市价指令
B.限价指令
C.停止限价指令
D.止损指令
参考答案:ABCD
国际上期货交易的常用指令包括:(1)市价指令;(2)限价指令;(3)停止限价指令;(4)止损指令;(5)触价指令;(6)限时指令;(7)长效指令;(8)套利指令;(9)取消指令。

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码