黑马程序员技术交流社区

标题: 异常05 [打印本页]

作者: _J2EE_LiXiZhen    时间: 2017-11-11 14:27
标题: 异常05
请用代码描述:
        在一款角色扮演游戏中,每一个人都会有名字和生命值;角色的生命值不能为负数
        要求:当一个人物的生命值为负数的时候需要抛出自定的异常
  1. //生命值为负数异常

  2. public class DeathException extends RuntimeException{

  3.         public DeathException() {
  4.                 // TODO Auto-generated constructor stub
  5.         }
  6.        
  7.         public DeathException(String message) {
  8.                 super(message);
  9.         }
  10. }

  11. //角色类

  12. public class Role {

  13.         // 姓名
  14.         private String name;
  15.         // 生命值
  16.         private int life;

  17.         public Role() {
  18.                 // TODO Auto-generated constructor stub
  19.         }

  20.         public Role(String name, int life) {
  21.                 super();

  22.                 if (life < 0)
  23.                         throw new DeathException("生命值不能为负数");

  24.                 if (life == 0)
  25.                         System.out.println("角色已死亡");

  26.                 this.name = name;
  27.                 this.life = life;
  28.         }

  29.         // get/set
  30.         public String getName() {
  31.                 return name;
  32.         }

  33.         public void setName(String name) {
  34.                 this.name = name;
  35.         }

  36.         public int getLife() {
  37.                 return life;
  38.         }

  39.         public void setLife(int life) {
  40.                
  41.                 if(life<0)
  42.                         throw new DeathException("生命值不能为负数");
  43.                
  44.                 if(life==0)
  45.                         System.out.println("角色已死亡");
  46.                        
  47.                 this.life = life;
  48.         }
  49. }

  50. /*请用代码描述:
  51.         在一款角色扮演游戏中,每一个人都会有名字和生命值;角色的生命值不能为负数
  52.         要求:当一个人物的生命值为负数的时候需要抛出自定的异常*/

  53. public class Test {
  54.         public static void main(String[] args) {
  55.                
  56.                 Role r = new Role("张三",0);
  57.                
  58.                 r.setLife(-1);
  59.         }
  60. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2