1.编写程序描述兔子和青蛙
需求说明:使用面向对象的思想,设计自定义类描述兔子和青蛙。

/**
 * 动物类
 * @author Administrator
*/
public abstract class Animal {
	private String name;//名字
	private String color;//颜色
	private String type;//类别(哺乳类、非哺乳类)	
	public Animal() {
		super();
	}
	public Animal(String name, String color, String type) {
		super();
		this.name = name;
		this.color = color;
		this.type = type;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getColor() {
		return color;
	}
	public void setColor(String color) {
		this.color = color;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	/**
	 * 发出叫声
	 */
	public abstract void shout();
	/**
	 * 吃饭
	 */
	public abstract void eat();	
}
/**
 * 游泳接口
 * @author Administrator
*/
public interface Swimmable {
	/**
	 * 游泳
	 */
	public void swim();
}
public class Frog extends Animal implements Swimmable{	
	public Frog() {
		super();
	}
	public Frog(String name, String color, String type) {
		super(name, color, type);
	}
	@Override
	public void shout() {
		System.out.println(\"那只\"+super.getColor()+
				\"的,名字叫\"+super.getName()+\"的青蛙正在呱呱的叫\");	
	}
	@Override
	public void eat() {
		System.out.println(\"青蛙是\"+super.getType()+\",爱吃昆虫\");		
	}
	@Override
	public void swim() {
		System.out.println(\"虽然不是鱼,但是青蛙也是游泳高手\");		
	}
}
public class Rabbit extends Animal{
	public Rabbit() {
		super();
	}
	public Rabbit(String name, String color, String type) {
		super(name, color, type);
	}
	@Override
	public void shout() {
		System.out.println(\"那只\"+super.getColor()+
				\"的,名字叫\"+super.getName()+\"的兔子正在叽叽的叫\");	
	}
	@Override
	public void eat() {
		System.out.println(\"兔子是\"+super.getType()+\",爱吃胡萝卜\");		
	}
}
public class Test {
	public static void main(String[] args) {
		Animal rabbit = new Rabbit(\"美人\", \"黑色\", \"哺乳类\");
		rabbit.shout();
		rabbit.eat();
		System.out.println(\"====================\");
		Animal frog = new Frog(\"大兵\", \"绿色\", \"非哺乳类\");
		frog.shout();
		frog.eat();
		Swimmable swimer = (Swimmable)frog;
		swimer.swim();
	}
}

2.实现不同符合PCI规范的适配器

/**
 * PCI接口
 * @author Administrator
 *
 */
public interface PCI {
	/**
	 * 传输数据
	 */
	public void send();
}

public class VideoCard implements PCI{
	@Override
	public void send() {
		System.out.println(\"使用PCI接口传输视频数据\");		
	}
}
public class SoundCard implements PCI{
	@Override
	public void send() {
		System.out.println(\"使用PCI接口传输声音数据\");
	}
}
public class NetCard implements PCI {
	@Override
	public void send() {
		System.out.println(\"使用PCI接口传输网络数据\");		
	}
}
public class Test {
	public static void main(String[] args) {
		PCI p1 = new VideoCard();
		p1.send();		
		PCI p2 = new SoundCard();
		p2.send();		
		PCI p3 = new NetCard();
		p3.send();
	}
}

3.写一个方法对任意数据类型数组进行排序。具体要求如下:
1)方法声明为public void sortArr( arr[]){ }
2)方法中首先输出排序前数组内容,然后进行排序,最后输出排序后数组内容。
3)可以是冒泡排序或其他算法实现,不直接调用Java提供的方法实现排序。

public void sort(  [] arr){
		//输出排序前数组 
		for(int i=0;i<arr.length;i++){
			System.out.println(arr[i]);
		}
		//大循环,一共n个元素,达到最终有序,至多n-1趟比较
		  temp;		
		for(int i=0;i<arr.length-1 ;i++){
			//定义一个符号量
			boolean  flag = true;//没有交换,有序
			//小循环			
			for(int j=0;j<arr.length-1-i;j++){
				//如果前一个大于后一个	
				Comparables c1 = (Comparables)arr[j];
				Comparables c2 = (Comparables)arr[j+1];
				if(c1.compareTo(c2)>0){
					//交换					
					temp = arr[j];
					arr[j]=arr[j+1];
					arr[j+1]=temp;
					//修改符号量
					flag = false;//交换过,无序
				}
			}	
			//判断经过此趟循环后是否已经有序
			if(flag){
				break;//退出外层循环,省略后续趟循环
			}
		}
		//输出排序后数组
		for(int i=0;i<arr.length;i++){
			System.out.println(arr[i]);
		}
	}

1.编写程序描述影视歌三栖艺人
需求说明:请使用面向对象的思想,设计自定义类,描述影视歌三梄艺人。

		/**
 * 可演电影接口
 * @author Administrator
*/
public interface Filmable {
	/**
	 *  演电影
	 */
	public void actFilm();
}
/**
 * 会唱歌接口
 * @author Administrator
*/
public interface Singable {
	/**
	 * 唱歌
	 */
	public void sing();
}
/**
 * 会演电视剧接口
 * @author Administrator
*/
public interface TVable {
	/**
	 * 演电视剧
	 */
	public void showTV();
}
public class Star implements Filmable,TVable,Singable{
	private String name;//姓名
	public Star() {
		super();
	}
	public Star(String name) {
		super();
		this.name = name;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@Override
	public void sing() {
		System.out.println(\"我会唱歌\");		
	}
	@Override
	public void showTV() {
		System.out.println(\"我能演电视剧\");		
	}
	@Override
	public void actFilm() {
		System.out.println(\"我能演电影\");		
	}
	public void introduce(){
		System.out.println(\"大家好,我是\"+name);
	}
}
public class Test {
	public static void main(String[] args) {
		Star star = new Star(\"马素素\");
		star.introduce();
		star.actFilm();
		star.showTV();
		star.sing();
	}
}

2.实现不同引用类型对象的大小比较

/**
 * 比较接口
 * @author Administrator
 *
 */
public interface Comparable {
	/**
	 * 比较
	 * @param obj 另外一个对象
	 * @return 比较的结果  >0 大于  =0 等于  <0 小于
	 */
	public int compareTo(  obj);
}

public class News implements Comparable{
	private int nid;//编号
	private String  ; //标题
	private String contents;//内容
	private String  type;//新闻类别
	public News() {
		super();
	}
	public News(int nid, String  , String contents,String type) {
		super();
		this.nid = nid;
		this.  =  ;
		this.contents = contents;
		this.type = type;		
	}
	/**
	 * 按照新闻编号正序排列
	 */
	public int compareTo(  obj) {
		News other =(News)obj;
		return this.nid- other.nid;			
	}
	@Override
	public String toString() {
		return \"News [nid=\" + nid + \",  =\" +   + \", contents=\"
				+ contents + \", type=\" + type + \"]\";
	}
	
}
public class Student implements Comparable{
	private int id;
	private String name;
	private int age;
	private double score;	
	public Student() {
		super();
	}
	public Student(int id, String name, int age, double score) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
		this.score = score;
	}
	/**
	 * 按照学生成绩降序排序
	 */
	public int compareTo(  obj) {
		Student other =(Student)obj;
		if(this.score>other.score){
			return -1;
		}else if(this.score<other.score){
			return 1;
		}else{
			return 0;
		}
	}
	@Override
	public String toString() {
		return \"Student [id=\" + id + \", name=\" + name + \", age=\" + age
				+ \", score=\" + score + \"]\";
	}	
}
public class Test {
	public static void main(String[] args) {
		//
		Student stu1 = new Student(11, \"小红\", 18, 97d);
		Student stu2 = new Student(12, \"小东\", 20, 98d);
		if(stu1.compareTo(stu2)>0){			
			System.out.println(stu2);
			System.out.println(stu1);
		}else{
			System.out.println(stu1);
			System.out.println(stu2);
		}
		//
		News news1 = new News(33, \"恒大亚冠\", \"恒大亚冠小组被淘汰\", \"体育\");
		News news2 = new News(44, \"上海***\", \"请原谅我的姗姗来迟\", \"IT\");
		if(news1.compareTo(news2)>0){
			System.out.println(news2);
			System.out.println(news1);			
		}else{
			System.out.println(news1);
			System.out.println(news2);
		}
	}
}
收藏 打印