34.编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法void
printCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然
后写一个类Print实现接口InterfaceA和InterfaceB,要求printCapitalLetter()方法
实现输出大写英文字母表的功能,printLowercaseLetter()方法实现输出小写英文
字母表的功能。再写一个主类E,在主类E的main方法中创建Print的对象并赋
值给InterfaceA的变量a,对象a调用printCapitalLetter方法;最后再在主类E
的main方法中创建Print的对象并赋值给InterfaceB的变量b,对象b调用
printLowercaseLetter方法。
package zuoye0923; public interface InterfaceA { void printCapitalLetter(); }
package zuoye0923; public interface InterfaceB { void printLowercaseLetter(); }
package zuoye0923; //实现接口InterfaceA, InterfaceB public class Prin implements InterfaceA, InterfaceB { @Override public void printLowercaseLetter() //实现小写 { String xiao="abcdefghijklmnopqrstuvwxyz"; System.out.println(xiao); } @Override public void printCapitalLetter() //实现大写 { String da="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; System.out.println(da); } }
package zuoye0923; public class E { //测试 public static void main(String[] args) { Prin x=new Prin(); InterfaceA a=new Prin(); a.printCapitalLetter(); InterfaceB b=new Prin(); b.printLowercaseLetter(); } }
35.按要求编写Java程序:
(1)编写一个接口:InterfaceA,只含有一个方法int method(int n);
(2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方
法时,要求计算1到n的和;
(3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口
方法时,要求计算n的阶乘(n!);
(4)编写测试类E,在测试类E的main方法中使用接口回调的形式来测试实现
接口的类。
package jiekou0923; public class Ceshi { public static void main(String[] args) { InterfaceA a=new ClassA(); System.out.println("10的和="+a.method(10)); InterfaceA b=new ClassB(); System.out.println("10的阶乘是="+b.method(10)); } }
package jiekou0923; public class ClassA implements InterfaceA { //1-n的和 @Override public int method(int n) { int sum =0; for(int i=1;i<=n;i++) { sum+=i; } return sum; } }
package jiekou0923; public class ClassB implements InterfaceA { //阶乘 @Override public int method(int n) { int sum =1; for(int i=1;i<=n;i++) { sum*=i; } return sum; } }
package jiekou0923; public class Ceshi { public static void main(String[] args) { InterfaceA a=new ClassA(); System.out.println("10的和="+a.method(10)); InterfaceA b=new ClassB(); System.out.println("10的阶乘是="+b.method(10)); } }
36.中国特色社会主义的体制中有这样的现象:地方省政府要坚持党的领导和按
照国务院的指示进行安全生产。请编写一个java应用程序描述上述的体制现象。
要求如下:
(1)该应用程序中有一个“党中央”接口:CentralPartyCommittee,该接口中
有个“坚持党的领导”方法:void partyLeader()
(2)该应用程序中有一个“国务院”抽象类:StateCouncil,该抽象类中有个“安
全生产”的抽象方法:abstract void safetyInProduction()
(3)该应用程序中有一个“省政府”类:Province,该类继承StateCouncil抽象
类并且实现CentralPartyCommittee接口;在实现partyLeader()方法时输出“我们
各省人民一定坚持党的领导!”;在重写safetyInProduction()方法时输出“我们各
省人民一定按照国务院的指示进行安全生产!”。
(4)该应用程序中有一个主类E,在主类E的main方法中创建Province类的对
象,来测试Province类的功能。
package dang; public interface CentralPartyCommittee { void partyLeader(); }
package dang; //国务院 public abstract class StateCouncil { abstract void safetyInProduction();//安全生产抽象方法 }
package dang; //省政府 public class Province extends StateCouncil implements CentralPartyCommittee { @Override public void partyLeader() { System.out.println("我们各省人民一定坚持党的领导!"); } @Override void safetyInProduction() { System.out.println("我们各省人民一定按照国务院的指示进行安全生产!"); } }
package dang; public class E { public static void main(String[] args) { Province p=new Province(); p.safetyInProduction(); CentralPartyCommittee c=new Province(); c.partyLeader(); } }
38.利用接口做参数,写个计算器,能完成+-*/运算
(1)定义一个接口Compute含有一个方法int computer(int n,int m);
(2)设计四个类分别实现此接口,完成+-*/运算
(3)设计一个类UseCompute,含有方法:
public void useCom(Compute com, int one, int two)
此方法要求能够:1.用传递过来的对象调用computer方法完成运算
2.输出运算的结果
(4)设计一个测试类,调用UseCompute中的方法useCom来完成+-*/运算
package yunsuan; public interface Compute { int computer(int n,int m); }
package yunsuan; public class Jia implements Compute { @Override public int computer(int n, int m) //加法 { int he; he=n+m; return he; } }
package yunsuan; public class Jian implements Compute { @Override public int computer(int n, int m) { int cha=n-m; return cha; } }
package yunsuan; public class Cheng implements Compute { @Override public int computer(int n, int m) { int ji=n*m; return ji; } }
package yunsuan; public class Chu implements Compute { @Override public int computer(int n, int m) { if(m==0) { System.out.println("被除数不能为0"); } int shang=n/m; return shang; } }
package yunsuan; public class UseCompute { public void useCom(Compute com, int one, int two) { System.out.println(com.computer(one, two)); } }
package yunsuan; public class E { public static void main(String[] args) { UseCompute u=new UseCompute(); System.out.print("1+3="); u.useCom(new Jia(), 1, 3); System.out.print("1-3="); u.useCom(new Jian(), 1, 3); System.out.print("1*3="); u.useCom(new Cheng(), 1, 3); System.out.print("1/3="); u.useCom(new Chu(), 1, 3); } }
package chaoren; //定义有用的接口 public interface CanSwim { void swim(); }
package chaoren; //定义会飞的接口 public interface CanFly { void fly(); }
package chaoren; public abstract class ActionCharacter { //声明抽象方法 abstract void fight(String emp);//创建战斗的方法 abstract void speak(String s);//说话 }
package chaoren; //实现父类所有方法 public class Hero extends ActionCharacter implements CanFly, CanSwim{ String name;//属性 public Hero(String name) { super(); this.name = name; } @Override public void swim() { System.out.println("我是"+this.name+",我会游泳"); } @Override public void fly() { System.out.println("我是"+this.name+"我会飞"); } @Override void fight(String emp) { System.out.println(emp); } @Override void speak(String s) { System.out.println("我是"+this.name+s); } }
package chaoren; public class Adventure { public static void main(String[] args) { Hero hb=new Hero("超人"); hb.swim(); hb.fly(); CanFly cf=hb; cf.fly(); CanSwim cs=hb; cs.swim(); ActionCharacter ac=hb; ac.fight("我会说各地方言"); ac.fight("前方有敌人,我要去战斗"); } }