设计一个几何图形的面积计算器,希望这个计算器可以计算圆、三角形和矩形等图形的面积,主要包括了抽象类Shape与其2个子类、面积计算器类Calculator、以及主类Main的设计。
设计一个几何图形的面积计算器,希望这个计算器可以计算圆、三角形和矩形等图形的面积,主要包括了抽象类Shape与其2个子类、面积计算器类Calculator、以及主类Main的设计。
参考答案和解析
首先要明白这道题目的考查点是什么,一是大家首先要对计算机原理的底层细节要清楚、要知道加减 法的位运算原理和知道计算机中的算术运算会发生越界的情况,二是要具备一定的面向对象的设计思想。 首先,计算机中用固定数量的几个字节来存储的数值,所以计算机中能够表示的数值是有一定的范围 的,为了便于讲解和理解,我们先以byte 类型的整数为例,它用1 个字节进行存储,表示的最大数值范围 为-128 到+127。-1 在内存中对应的二进制数据为11111111,如果两个-1 相加,不考虑Java 运算时的类型提 升,运算后会产生进位,二进制结果为1,11111110,由于进位后超过了byte 类型的存储空间,所以进位部 分被舍弃,即最终的结果为11111110,也就是-2,这正好利用溢位的方式实现了负数的运算。-128 在内存 中对应的二进制数据为10000000,如果两个-128 相加,不考虑Java 运算时的类型提升,运算后会产生进位, 二进制结果为1,00000000,由于进位后超过了byte 类型的存储空间,所以进位部分被舍弃,即最终的结果 为00000000,也就是0,这样的结果显然不是我们期望的,这说明计算机中的算术运算是会发生越界情况 的,两个数值的运算结果不能超过计算机中的该类型的数值范围。由于Java中涉及表达式运算时的类型自 动提升,我们无法用byte 类型来做演示这种问题和现象的实验,大家可以用下面一个使用整数做实验的例 子程序体验一下: int a = Integer.MAX_VALUE; int b = Integer.MAX_VALUE; int sum = a + b; System.out.println(“a=”+a+”,b=”+b+”,sum=”+sum); 先不考虑long 类型,由于int 的正数范围为2 的31 次方,表示的最大数值约等于2*1000*1000*1000, 也就是20 亿的大小,所以,要实现一个一百亿的计算器,我们得自己设计一个类可以用于表示很大的整数, 并且提供了与另外一个整数进行加减乘除的功能,大概功能如下: ()这个类内部有两个成员变量,一个表示符号,另一个用字节数组表示数值的二进制数 ()有一个构造方法,把一个包含有多位数值的字符串转换到内部的符号和字节数组中 ()提供加减乘除的功能 public class BigInteger { int sign; byte[] val; public Biginteger(String val) { sign = ; val = ; } public BigInteger add(BigInteger other) { } public BigInteger subtract(BigInteger other) { } public BigInteger multiply(BigInteger other) { } public BigInteger divide(BigInteger other) { } } 备注:要想写出这个类的完整代码,是非常复杂的,如果有兴趣的话,可以参看jdk 中自带的 java.math.BigInteger 类的源码。面试的人也知道谁都不可能在短时间内写出这个类的完整代码的,他要的 是你是否有这方面的概念和意识,他最重要的还是考查你的能力,所以,你不要因为自己无法写出完整的 最终结果就放弃答这道题,你要做的就是你比别人写得多,证明你比别人强,你有这方面的思想意识就可 以了,毕竟别人可能连题目的意思都看不懂,什么都没写,你要敢于答这道题,即使只答了一部分,那也 与那些什么都不懂的人区别出来,拉开了距离,算是矮子中的高个,机会当然就属于你了。另外,答案中 的框架代码也很重要,体现了一些面向对象设计的功底,特别是其中的方法命名很专业,用的英文单词很 精准,这也是能力、经验、专业性、英语水平等多个方面的体现,会给人留下很好的印象,在编程能力和 其他方面条件差不多的情况下,英语好除了可以使你获得更多机会外,薪水可以高出一千元。
相关考题:
请编写一个完整的Java Application程序,能够计算圆的周长和面积。 要求:(1)定义点类CPoint;(2)定义圆类CCircle继承自类CPoint,类中属性包括:圆心,半径,类中方法包括:求周长perimeter()、求面积area();(3)定义主类CCircleDemo,利用类CCircle输出一个圆的圆心,半径,周长和面积
运用财务计算器相对于查表法的优点包括( )。A.财务计算器操作简便B.财务计算器只可以算到小数点以下若干位C.财务计算器可精确算出所需的投资报酬率或期数D.财务计算器可以算到每月的现金流量,结果没有算到年再除以12精确
甲公司在进入袖珍计算器市场之前,该市场基本被乙公司低质低价的计算器和丙公司的高质高价计算器所支配。甲公司以中等价格和中等质量推出了第一批计算器。然后,它逐渐在每一端上增加机型。它推出了比较好的计算器,但价格与乙公司的一样,甚至更低,最终击败了乙公司;它又设计了一种价格低于丙公司,但质量上乘的计算器,夺走了丙公司享有在高档市场上的份额。对于甲公司采用的策略,以下分析正确的是( )。
执行()步骤,启动计算器A、单击“开始”按钮——“程序”——“附件”——“计算器”B、“程序”——“附件”——单击“开始”按钮——“计算器”C、“程序”——单击“开始”按钮——“附件”——“计算器”D、单击“开始”按钮——“附件”——“附件”——“计算器”
单选题在个人客户营销管理系统(简称PBMS)中,()用于协助客户经理为客户计算各类个人人民币存款业务、贷款业务、外汇业务、黄金买卖业务,以及国债、基金、保险、债券等中间业务的本息、收益等数据。A存款计算器B贷款计算器C理财计算器D财务计算器
单选题执行()步骤,启动计算器A单击“开始”按钮——“程序”——“附件”——“计算器”B“程序”——“附件”——单击“开始”按钮——“计算器”C“程序”——单击“开始”按钮——“附件”——“计算器”D单击“开始”按钮——“附件”——“附件”——“计算器”
单选题OCRM系统中的理财计算器有外币理财计算器、个人理财计算器、国债理财计算器和()理财计算器几种。A外币B个人C国债D股票