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);
}
}
}
继续阅读与本文标签相同的文章
上一篇 :
CSS3媒体查询+手机自适应
-
人工智能社会实验研究全面展开
2026-05-18栏目: 教程
-
OpenAI机械手“学习”解开三阶魔方技术
2026-05-18栏目: 教程
-
5G时代,能给我们带来什么样的生活改观
2026-05-18栏目: 教程
-
第六届世界互联网大会将首次启用新展馆
2026-05-18栏目: 教程
-
世界首款在BCH区块链上运行的沙盒游戏——RealmX
2026-05-18栏目: 教程
