140201126-杨鹏飞-作业八

本文介绍了一个Java程序示例,包括异常处理机制的应用及宠物类的设计与实现。通过具体的代码片段展示了如何进行基本的异常捕捉和处理,并实现了一个宠物接口及其实现类如猫和狗等。


public class ADemo1 {
 public static void main(String args[]) {
  System.out.println("********计算开始********");
  float i=100.0f;
  float j=2.5f;
  try{
   String str1=args[0];
   String str2=args[1];
   i=Float.parseFloat(str1);
   j=Float.parseFloat(str2);
   float temp=i/j;
   System.out.println("两个数字相除的结果:"+temp);
   System.out.println("---------------");// TODO Auto-generated method stub
  }catch(ArithmeticException a){
   System.out.println("算术异常:"+a);
  }catch(NumberFormatException a){
   System.out.println("数字转换异常:"+a);
  }
  System.out.println("********计算结束********");
 }
}

interface Pet{ // 定义宠物接口
 public String getName() ;
 public String getColor() ;
 public int getAge() ;
}
class Cat implements Pet{ // 猫是宠物,实现接口
 private String name ; // 宠物名字
 private String color ; // 宠物颜色
 private int age ;  // 宠物年龄
 public Cat(String name,String color,int age){
  this.setName(name) ;
  this.setColor(color) ;
  this.setAge(age) ;
 }
 public void setName(String name){
  this.name = name ;
 }
 public void setColor(String color){
  this.color = color;
 }
 public void setAge(int age){
  this.age = age ;
 }
 public String getName(){
  return this.name ;
 }
 public String getColor(){
  return this.color ;
 }
 public int getAge(){
  return this.age ;
 }
}
class Dog implements Pet{ // 狗是宠物,实现接口
 private String name ; // 宠物名字
 private String color ; // 宠物颜色
 private int age ;  // 宠物年龄
 public Dog(String name,String color,int age){
  this.setName(name) ;
  this.setColor(color) ;
  this.setAge(age) ;
 }
 public void setName(String name){
  this.name = name ;
 }
 public void setColor(String color){
  this.color = color;
 }
 public void setAge(int age){
  this.age = age ;
 }
 public String getName(){
  return this.name ;
 }
 public String getColor(){
  return this.color ;
 }
 public int getAge(){
  return this.age ;
 }
}
class PetShop{ // 宠物商店
 private Pet[] pets ; // 保存一组宠物
 private int foot ;
 public PetShop(int len){
  if(len>0){
   this.pets = new Pet[len] ; // 开辟数组大小
  }else{
   this.pets = new Pet[1] ; // 至少开辟一个空间
  }
 }
 public boolean add(Pet pet){ // 增加的是一个宠物
  if(this.foot<this.pets.length){
   this.pets[this.foot] = pet ; // 增加宠物
   this.foot ++ ;
   return true ;
  }else{
   return false ;
  }
 }
 public Pet[] search(String keyWord){
  // 应该确定有多少个宠物符合要求
  Pet p[] = null ;
  int count = 0 ; // 记录下会有多少个宠物符合查询结果
  for(int i=0;i<this.pets.length;i++){
   if(this.pets[i]!=null){  // 表示此位置有宠物
    if(this.pets[i].getName().indexOf(keyWord)!=-1
     ||this.pets[i].getColor().indexOf(keyWord)!=-1){
     count++ ; // 修改查找到的记录数
    }
   }
  }
  p = new Pet[count] ; // 开辟指定的大小空间
  int f = 0 ; // 增加元素的位置标记
  for(int i=0;i<this.pets.length;i++){
   if(this.pets[i]!=null){  // 表示此位置有宠物
    if(this.pets[i].getName().indexOf(keyWord)!=-1
     ||this.pets[i].getColor().indexOf(keyWord)!=-1){
     p[f] = this.pets[i] ;
     f++ ;
    }
   }
  }
  return p ;

 }
}
public class ADemo2{
 public static void main(String args[]){
  System.out.println("*******计算开始********");
  float m=100.0f;
  float n=2.5f;
  try{
   String str1=args[0];
   String str2=args[1];
   m=Float.parseFloat(str1);
   n=Float.parseFloat(str2);
   float temp=m/n;
   System.out.println("两个数字相除的结果:"+temp);
   System.out.println("---------------");// TODO Auto-generated method stub
  }catch(Exception a){
   System.out.println("其他异常:"+a);
  }
  System.out.println("********计算结束********");
  System.out.println("\t");
  PetShop ps = new PetShop(5) ; // 五个宠物
  ps.add(new Cat("白猫","白色的",2)) ; // 增加宠物,成功
  ps.add(new Cat("黑猫","黑色的",3)) ; // 增加宠物,成功
  ps.add(new Cat("花猫","花色的",3)) ; // 增加宠物,成功
  ps.add(new Dog("拉步拉多","黄色的",3)) ; // 增加宠物,成功
  ps.add(new Dog("金毛","金色的",2)) ; // 增加宠物,成功
  ps.add(new Dog("黄狗","黑色的",2)) ; // 增加宠物,失败
  print(ps.search("黑"));
 }
 public static void print(Pet p[]){
  for(int i=0;i<p.length;i++){
   if(p[i]!=null){
    System.out.println(p[i].getName() + "," + p[i].getColor()
     +"," + p[i].getAge()) ;
   }
  }
 }
 
}

转载于:https://www.cnblogs.com/yangpengfei123/p/5444317.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值