JAVA语言 采用面向对象程序设计思想编写程序计算 n!,要求使用接口 和抽象类实现。急求全部代码大神有急用

作者&投稿:官建 (若有异议请与网页底部的电邮联系)
JAVA语言 采用面向对象程序设计思想编写程序计算 n!,要求使用接口 和抽象类实现。急求全部代码~


接口:FactorialImp
抽象类:FactorialAbs
实现计算阶乘n!的类:Fatorial
代码:
/** * * 阶乘计算器 * * 接口 */public interface FactorialImp {// 计算阶乘n!的值long factorial(int n);}/** * * 阶乘计算器 * * 抽象类 继承 FactorialImp */public abstract class FactorialAbs implements FactorialImp {/** * 实现计算阶乘n!的值的方法 */public long factorial(int n) {return multiplicationCount(n, n - 1);}/** * 增加抽象方法--计算两数相乘 * * @param param1Int * @param param2Int * @return 两数相乘的积 */abstract long multiplicationCount(long param1Int, long param2Int);}/** * 实现阶乘计算器类 * */public class Fatorial extends FactorialAbs {@Overridelong multiplicationCount(long param1Int, long param2Int) {if (param2Int == 1) {return param1Int;} else {return multiplicationCount(param1Int * param2Int, param2Int - 1);}}}/** * 测试类 * */public class Test {public static void main(String[] args) {Fatorial localFatorial = new Fatorial();System.out.println("100! = " + localFatorial.factorial(10));}}

public class Person {
//(1) 设计一个类 人员,包含三个成员变量:姓名、年龄、性别。
private String name;
private int age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
//(2) 设计员工和顾客两个类为 人员类的子类,员工类包含一个成员变量:职称级别;顾客包含一个成员变量:账户余额。
class worker extends Person{

private String Title_Level;
public String getTitle_Level() {
return Title_Level;
}
public void setTitle_Level(String title_Level) {
Title_Level = title_Level;
}
}
class Customer extends Person{
private int Account_balance;
public int getAccount_balance() {
return Account_balance;
}
public void setAccount_balance(int account_balance) {
Account_balance = account_balance;
}
}
//(3) 设计一个类 取款机包含两个成员方法:取款,查询账户。
interface ATM{

void Teller(Customer cus);
void Checkaccount(Customer cus);

}
//4) 实现取款机的取款方法,
//当顾客来取钱但是账户余额不足时抛出异常“余额不足”并显示,
//无论取款是否发生异常,最终取款方法需要执行“退卡”操作。
class ATMimpl implements ATM{
public void Checkaccount(Customer cus) {

}
public void Teller(Customer cus) {

}

}

采用OOP思想的Java代码如下:

public class Test {
public static void main(String[] args) {
int n = 5;
IntNumber obj = new IntNumber(n);
int f = obj.fac();
System.out.println(n + " ! = " + f);
}
}


/**
 * 数值抽象类
 */
abstract class Number {
/**
 * 数值
 */
protected int num;
}

/**
 * 计算接口
 */
interface Calculate {
/**
 * 计算阶乘的方法
 * @return 阶乘
 */
int fac();
}


/**
 * 整数类
 */
class IntNumber extends Number implements Calculate {
//构造方法
public IntNumber(int num) {
this.num = num;
}

@Override
public int fac() {
if(num < 0) {
return -1;
}
if(num == 0 || num == 1) {
return 1;
}

int f = 1;
for(int i=2; i<=num; i++) {
f *= i;
}
return f;
}
}


运行测试:

5 ! = 120


这个还不好做!!!!!!!!!!!!
你先用编程工具new一个接口, 定义一个方法public int suan(int n);

在new一个类implement 刚刚那个接口
实现刚刚的方法
public static int suan(int n){
int sum = n;
for(;n>1;n--){
sum *=(n-1);
}
return sum;
}
亲测可用

豆浆机程序,涉及,我懂可以写,了解更多


岚皋县18481428710: JAVA语言面向对象程序设计(马俊著书籍) - 搜狗百科
和应六合: 1、采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的.2、质量高在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务...

岚皋县18481428710: java面向对象编程是什么 -
和应六合: 面向对象编程的时候,我们会考虑到两个问题,一个是类的定义,一个是实现对象,类经过实例化就是对象,比如现在有个类叫Student ,那么用这个类生成个对象,就是这个样子,Student s=new Student 这个s就是对象了.Student s 就是创建...

岚皋县18481428710: JAVA语言 采用面向对象程序设计思想编写程序计算 n!,要求使用接口 和抽象类实现.急求全部代码 -
和应六合: 1. 接口:FactorialImp2. 抽象类:FactorialAbs3. 实现计算阶乘n!的类:Fatorial 代码:/** ** 阶乘计算器 ** 接口 */ public interface FactorialImp { // 计算阶乘n!的值 long factorial(int n); }/** ** 阶乘计算器 ** 抽象类 继承 FactorialImp */ public ...

岚皋县18481428710: 在JAVA中什么是面向对象的程序设计方法?有哪些主要特征? -
和应六合: java中的应该是指java面向对象编程,不是面向对象方法.就是说你在写程序的时候要考虑你的程序是由哪些实体组成的(这些实体相互协作,共同提供你的程序的功能),然后运用类将这些实体分组,利用继承和多态表达不同类的实体的共性和特性.你去买本好点的书看看就明白了,几句话、几百字说不清的.......

岚皋县18481428710: Java是纯面向对象的语言吗 -
和应六合: 所谓纯面向对象的语来言,是相对面向过程语言和兼容面向过程的面向对象语言而言的,比如C是面向过程的语言,而源c++是兼容面向知过程的面向对象语言,所以不是纯面向对象语言,而java只能是面向对象的,不支持面向过程的,故它是纯面向对象语言道

岚皋县18481428710: 为什么说Java是面向对象的语言,怎么解释?它的分布应用又是如何体现的? -
和应六合: 最短的答案是:它是个面向网络的程序设计语言,用来让程序员创建应用程序,这些应用程序可以通过网络下载,而且可在任何计算平台上安全地运行.如果再加上万维网和公司内部网体系,你将会拥有一个标准的网络计算环境,Java作为一个...

岚皋县18481428710: 用java进行面向对象编程,面向对象是什么意思,请通俗一点解释 -
和应六合: 通俗一点说就是你可以设定一个类,比如汽车类Car.汽车有很多属性,比如颜色color,品牌brand. 然后呢,你new一个对象出来.Car myCar=new Car() 类具体到某一个特定的个体的时候,就是一个对象了. 我们可以给myCar设定颜色和品牌,还可以让它干好多别的事情. 再说人类.人类是一个很大的群体,但是特定到某一个人,比如你,比如我,比如小明,张三,李四,每个特定的人,都是一个对象,他属于“人”这个类 你先明白java中类的概念.类具体到某个实例,就是对象了

岚皋县18481428710: 简答题,为什么说java是面向对象的编程语言 -
和应六合: 1 2 3 4Java语言作为面向对象的编程语言, 提供了面向对象的四种基本性质:抽象性、封装性、继承性和多态性. 万事万物皆对象 Java面向对象编程是以人类最好理解的方向去编程(客观世界中的对象为中心)

岚皋县18481428710: java面向对象程序设计做个简单是介绍啊谢谢
和应六合: 面向对象: 将客户需要解决的问题抽象成一个个对象,通过这些对象之间的调用来形成一个可以 运行的软件系统. 面向对象的优点 1)对象比较符合人的思维方式 2)可以将数据和行为方式封装在对象中,便于重用和维护. 3)利用OO的特性(封装、继承、多态等)来编写程序,可以提供代码的灵活度.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网