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("前方有敌人,我要去战斗");
}
}