新的红包接口开放是微信摇一摇周边红包组件接口,包括如下具体接口:申请条件及准备1、认证并且开通了微信支付的微信公众号(服务号、企业号、部分媒体及政府机构的订阅号);2、申请开通微信摇一窑周边;3、购买ibeacon蓝牙基站()微信官方推...
创新互联建站是一家专业提供新乐企业网站建设,专注与成都网站制作、网站建设、H5场景定制、小程序制作等业务。10年已为新乐众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
前言:package-game,我直接在父类中声明了参数构造器,其实这样不太好,以后你学好了可以改进。代码如下************************************************************************
package game;
public class Hero {
// 姓名
private String name;
// 攻击力
private double aggressivity;
// 防御力
private double defensive;
// 生命力
private double lifeValue;
public Hero(String name, double aggressivity, double defensive, double lifeValue) {
super();
this.name = name;
this.aggressivity = aggressivity;
this.defensive = defensive;
this.lifeValue = lifeValue;
}
public Hero() {
super();
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getAggressivity() {
return aggressivity;
}
public void setAggressivity(double aggressivity) {
this.aggressivity = aggressivity;
}
public double getDefensive() {
return defensive;
}
public void setDefensive(double defensive) {
this.defensive = defensive;
}
public double getLifeValue() {
return lifeValue;
}
public void setLifeValue(double lifeValue) {
this.lifeValue = lifeValue;
}
@Override
public String toString() {
return "Hero [name=" + name + ", aggressivity=" + aggressivity + ", defensive=" + defensive + ", lifeValue=" + lifeValue + "]";
}
}
package game;
/**
* 技能接口
*
* @author remind
*
*/
public interface Skill {
// 被动技能
public void passiveSkill();
// 技能1
public void skill1();
// 技能2
public void skill2();
// 技能3
public void skill3();
}
package game;
/**
* 自定义异常
* @author remind
*
*/
public class HeroException extends Exception {
public HeroException() {
super();
}
public HeroException(String message, Throwable cause) {
super(message, cause);
}
public HeroException(String message) {
super(message);
}
public HeroException(Throwable cause) {
super(cause);
}
}
package game;
/**
* Master英雄类
*
* @author remind
*
*/
public class Master extends Hero implements Skill {
@Override
public void passiveSkill() {
System.out.println("Master 被动技能");
}
@Override
public void skill1() {
System.out.println("Master 技能1");
}
@Override
public void skill2() {
System.out.println("Master 技能2");
}
@Override
public void skill3() {
System.out.println("Master 技能3");
}
public Master() {
super();
}
public Master(String name, double aggressivity, double defensive, double lifeValue) {
super(name, aggressivity, defensive, lifeValue);
}
}
package game;
/**
* Warrior英雄类
*
* @author remind
*
*/
public class Warrior extends Hero implements Skill {
@Override
public void passiveSkill() {
System.out.println("Warrior 被动技能");
}
@Override
public void skill1() {
System.out.println("Warrior 技能1");
}
@Override
public void skill2() {
System.out.println("Warrior 技能2");
}
@Override
public void skill3() {
System.out.println("Warrior 技能3");
}
public Warrior() {
super();
}
public Warrior(String name, double aggressivity, double defensive, double lifeValue) {
super(name, aggressivity, defensive, lifeValue);
}
}
package game;
/**
* 测试类
*
* @author remind
*
*/
public class TestHero {
// 程序入库测试
public static void main(String[] args) {
try {
test(new Master("山丘之王", 0, 200, 400));
test(new Warrior("黑暗游侠", 300, 200, 400));
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* test方法,调用英雄执行技能
*
* @param hero
* @throws Exception
*/
public static void test(Hero hero) throws Exception {
System.out.println("英雄信息:" + hero);
if (hero.getAggressivity() == 0) {
throw new HeroException("攻击力不能为0");
}
// 类型转换
if (hero instanceof Skill) {
Skill skill = (Skill) hero;
// 被动技能
skill.passiveSkill();
// 技能1
skill.skill1();
// 技能2
skill.skill2();
// 技能3
skill.skill3();
}
}
}
可以
参考微信发红包,会有2个参数: 红包个数 和 红包金额 ,假设红包个数是num,红包金额是money ,使用随机数的方式进行划分,不考虑多线程情况下的并发情况, 一个简单的实现。
运行代码,打开一个发红包的页面。可以输入总金额,红包个数,留言信息。 点击 塞钱进红包 按钮,跳转到下一页面。
易捷红包五进制大致是这样:先上代码:以上代码仅供参考,涉及商业计算要用java.math.BigDecimal。