• 0923接口——练习题作业


    1.编写2个接口:InterfaceAInterfaceB;在接口InterfaceA中有个方法void

    printCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然

    后写一个类Print实现接口InterfaceAInterfaceB,要求printCapitalLetter()方法

    实现输出大写英文字母表的功能,printLowercaseLetter()方法实现输出小写英文

    字母表的功能。再写一个主类E,在主类Emain方法中创建Print的对象并赋

    值给InterfaceA的变量a,对象a调用printCapitalLetter方法;最后再在主类E

    main方法中创建Print的对象并赋值给InterfaceB的变量b,对象b调用

    printLowercaseLetter方法。

    package jiekouhomework2;
    
    public interface InterfaceA {
    
    	//方法
    	void printCapitalLetter();
    }
    
    package jiekouhomework2;
    
    public interface InterfaceB {
    
    	//方法
    	void printLowercaseLetter();
    }
    
    
    package jiekouhomework2;
    
    public class Print implements InterfaceA, InterfaceB {
    
    	@Override
    	public void printLowercaseLetter() {
    		//输出大写英文字母
    		for(int i='a';i<'a'+26;i++)
    		{
    			System.out.print((char)i+" ");
    		}
    	}
    
    	@Override
    	public void printCapitalLetter() {
    		//输出大写英文字母
    		for(int i='A';i<'A'+26;i++)
    		{
    			System.out.print((char)i+" ");
    			if((char)i=='Z')
    			{
    				System.out.println();
    			}
    		}
    	}
    
    }
    
    package jiekouhomework2;
    
    public class E {
    	public static void main(String[] args) 
    	{
    		Print j=new Print();//实例化Print
    		InterfaceA a=j;//向上转型
    		a.printCapitalLetter();
    		InterfaceB b=j;
    		b.printLowercaseLetter();
    		
    	}
    
    }
    

      

    2.

    按要求编写Java程序:

    1)编写一个接口:InterfaceA,只含有一个方法int method(int n)

    2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方

    法时,要求计算1n的和;

    3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口

    方法时,要求计算n的阶乘(n!);

    4)编写测试类E,在测试类Emain方法中使用接口回调的形式来测试实现

    接口的类。

    package jiekouhomework3;
    
    public interface InterfaceA {
    
    	int method(int n);
    }
    
    
    package jiekouhomework3;
    
    public class ClassA implements InterfaceA {
    
    	@Override
    	public int method(int n) {
    		int sum=0;
    		for(int i=1;i<=n;i++)
    		{
    			sum+=i;
    		}
    		return sum;
    	}
    
    }
    
    
    package jiekouhomework3;
    
    public class ClassB implements InterfaceA {
    
    	@Override
    	public int method(int n) {
    		int sum=1;
    		for(int i=1;i<=n;i++)
    		{
    			sum=sum*i;
    		}
    		return sum;
    	}
    
    }
    
    
    package jiekouhomework3;
    
    public class E {
    
    	public static void main(String[] args) {
    		ClassA j=new ClassA();
    		System.out.println("1到n的和="+j.method(10));
    		ClassB k=new ClassB();
    		System.out.println("n的阶乘="+k.method(10));
    	}
    }
    

      

    3.

    中国特色社会主义的体制中有这样的现象:地方省政府要坚持党的领导和按

    照国务院的指示进行安全生产。请编写一个java应用程序描述上述的体制现象。

    要求如下:

    1)该应用程序中有一个“党中央”接口:CentralPartyCommittee,该接口中

    有个“坚持党的领导”方法:void partyLeader()

    2)该应用程序中有一个“国务院”抽象类:StateCouncil,该抽象类中有个“安

    全生产”的抽象方法:abstract void safetyInProduction()

    3)该应用程序中有一个“省政府”类:Province,该类继承StateCouncil抽象

    类并且实现CentralPartyCommittee接口;在实现partyLeader()方法时输出“我们

    各省人民一定坚持党的领导!”;在重写safetyInProduction()方法时输出“我们各

    省人民一定按照国务院的指示进行安全生产!”。

    4)该应用程序中有一个主类E,在主类Emain方法中创建Province类的对

    象,来测试Province类的功能。

    package jiekouhomework4;
    
    public interface CentralPartyCommittee {
    	void partyLeader();
    
    	void safetyInProduction();
    }
    
    
    package jiekouhomework4;
    
    public abstract class StateCouncil {
    
    	abstract void safetyInProduction();
    }
    
    
    package jiekouhomework4;
    
    public class Province extends StateCouncil implements CentralPartyCommittee {
    
    	@Override
    	public void partyLeader() {
    		// TODO Auto-generated method stub
    		System.out.println("我们各省人民一定坚持党的领导!");
    	}
    
    	@Override
    	public void safetyInProduction() {
    	
    		System.out.println("我们各省人民一定按照国务院的指示进行安全生产!");
    	}
    
    }
    
    
    package jiekouhomework4;
    
    public class E {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Province p=new Province();
    		p.partyLeader();
    		p.safetyInProduction();
    	
    	}
    
    }
    

      

    4.

    package jiekouhomework5;
    
    public interface CanSwim {
    	void swim();
    }
    
    
    package jiekouhomework5;
    
    public interface CanFly {
    	void fly();
    }
    
    
    package jiekouhomework5;
    
    public abstract class ActionCharacter {
    	public abstract void fight(String emp);
    	public abstract void sperk(String s);
    }
    
    
    package jiekouhomework5;
    
    public class Hero extends ActionCharacter implements CanSwim, CanFly {
    
    	private String name;
    	
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	@Override
    	public void fly() {
    		
    		System.out.println(name+"会飞");
    	}
    
    	@Override
    	public void swim() {
    		// TODO Auto-generated method stub
    		System.out.println(name+"会游泳,小样你行不");
    	}
    
    	@Override
    	public void fight(String emp) {
    		// TODO Auto-generated method stub
    		System.out.println(name+"可以一个大十个");
    	}
    
    	@Override
    	public void sperk(String s) {
    		// TODO Auto-generated method stub
    		System.out.println(name+"会吹牛逼");
    	}
    
    }
    
    
    package jiekouhomework5;
    
    public class Adventure {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Hero hb=new Hero();
    		hb.setName("蜘蛛侠");
    		
    		hb.swim();
    		hb.fight("123");
    		hb.fly();
    		CanFly cf=hb;
    		CanSwim cs=hb;
    		cs.swim();
    		ActionCharacter ac=hb;
    		ac.fight("123");
    		ac.sperk("123");
    		
    	}
    
    }
    

      

    5.

    利用接口做参数,写个计算器,能完成+-*/运算

    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 jiekouhomework6;
    
    public interface Compute {
    	double computer(double n,double m);
    }
    
    
    package jiekouhomework6;
    
    public class jia implements Compute {
    
    	@Override
    	public double computer(double n, double m) {
    		
    		return n+m;
    	}
    
    }
    
    
    package jiekouhomework6;
    
    public class jian implements Compute {
    
    	@Override
    	public double computer(double n, double m) {
    		// TODO Auto-generated method stub
    		return n-m;
    	}
    
    }
    
    
    package jiekouhomework6;
    
    public class cheng implements Compute {
    
    	@Override
    	public double computer(double n, double m) {
    		// TODO Auto-generated method stub
    		return n*m;
    	}
    
    }
    
    
    package jiekouhomework6;
    
    public class chu implements Compute {
    
    	@Override
    	public double computer(double n, double m) {
    		// TODO Auto-generated method stub
    		return n/m;
    	}
    
    }
    
    
    package jiekouhomework6;
    
    public class UseCompute {
    
    	public void useCom(Compute com, int one, int two)
    	{
    		System.out.println(com.computer(one, two));
    	}
    }
    
    
    package jiekouhomework6;
    
    public class test {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		UseCompute u=new UseCompute();
    		jia jia=new jia();
    		u.useCom(jia, 10, 20);
    		u.useCom(new jian(), 10, 20);
    		u.useCom(new cheng(), 10, 20);
    		u.useCom(new chu(), 10, 20);	
    	}
    }
    

      

  • 相关阅读:
    join
    Hadoop 的 TotalOrderPartitioner
    机器学习开源项目
    java 编程性能调优
    kettel的stream lookup报错
    Mondrian Schema workbench工作界面 简介(实在懒得写,居然有人弄了,收藏了)
    linux软链接和硬链接
    那些超级成功的公司(看着不错,自己收藏)
    Ngnix中的fastcgi參数性能优化和解释
    zip 的 压缩与解压
  • 原文地址:https://www.cnblogs.com/zhangnaitao/p/5901732.html
Copyright © 2020-2023  润新知