1.1 业务分析
- HeroManagerSyatem
- 实体类
- 业务类
- HeroManager
- 增 addHero
- 删 removeHero
- 改 modifyHero
- 查 searchHero
- 控制器
1.2 实体类
/**
* 英雄实体类
* 座次
星宿
诨名(绰号)
姓名
梁山泊职位
地址
信息
武力值
*/
public class Hero {
private Integer id;
private String star; // 星宿
private String nickname; // 昵称
private String name;
private String job; // 职务
private String address;
private Integer powerValue; // 武力值
private String info;
}
1.3 业务类
import java.util.ArrayList;
import java.util.List;
/**
* Hero业务类
*/
public class HeroManager {
// 存储Hero的集合【假设从数据库关联的所有Hero数据】
ArrayList<Hero> heroes = new ArrayList<Hero>();
{
heroes.add(new Hero(10001, "天魁星", "及时雨", "宋江", "总督兵马大元帅", "山东郓城", 80, "梁山土匪头子"));
heroes.add(new Hero(10002, "天罡星", "玉麒麟", "卢俊义", "总督兵马大元帅", "山东曹县", 80, "梁山土匪头子"));
heroes.add(new Hero(10003, "天机星", "智多星", "吴用", "总督兵马大元帅", "山东济宁", 80, "梁山土匪头子"));
heroes.add(new Hero(10004, "天闲星", "入云龙", "公孙胜", "总督兵马大元帅", "山东即墨", 80, "梁山土匪头子"));
heroes.add(new Hero(10005, "天勇星", "大刀", "关胜", "总督兵马大元帅", "山东青岛", 80, "梁山土匪头子"));
heroes.add(new Hero(10006, "天雄星", "豹子头", "林冲", "总督兵马大元帅", "山东郓城", 80, "梁山土匪头子"));
}
/**
* 添加Hero
* @param hero
* @return
*/
public Integer addHero(Hero hero) {
// 放入之前先判断
for (Hero h : heroes) {
if (h.getId().equals(hero.getId()) || h.getName().equals(hero.getName()) || h.getNickname().equals(hero.getNickname())) {
System.out.println("已存在的对象");
return 0;
}
}
boolean b = heroes.add(hero);
return b ? 1 : 0;
}
/**
* 删除Hero
* @return
*/
public Integer removeHero() {
return 0;
}
/**
* 修改Hero
* @param hero
* @return
*/
public Integer modifyHero(Hero hero) {
return 0;
}
/**
* 查询所有Hero
* @return
*/
public List<Hero> searchAll(){
return heroes;
}
/**
* 姓名查询
* @param name
* @return
*/
public Hero searchHeroByName(String name) {
for (Hero hero : heroes) {
if (hero.getName().equals(name)) {
return hero;
}
}
return null;
}
/**
* 昵称查询
* @param nickname
* @return
*/
public Hero searchHeroByNickname(String nickname) {
for (Hero hero : heroes) {
if (hero.getNickname().equals(nickname)) {
return hero;
}
}
return null;
}
/**
* 地址查询
* @param address
* @return
*/
public List<Hero> searchHeroByAddress(String address) {
List<Hero> heroesAddress = new ArrayList<Hero>();
for (Hero hero : heroes) {
if (hero.getAddress().contains(address)) {
heroesAddress.add(hero);
}
}
return heroesAddress;
}
}
1.4 App
import java.util.List;
import java.util.Scanner;
/**
* HeroManagerSyatem
* 实体类
* Hero
* 属性
* 业务类
* HeroManager
* 增 addHero
* 删 removeHero
* 改 modifyHero
* 查 searchHero
* 控制器
* App
* 给出选择项,提示用户需要的操作
*/
public class App {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
// 创建业务对象
HeroManager heroManager = new HeroManager();
while (true) {
System.out.println("-=-=-=-=-=-=-=-=-=欢迎使用红浪漫Hero管理系统=-=-=-=-=-=-=-=-=-");
System.out.println("\t1=添加Hero\n\t2=删除Hero\n\t3=修改Hero\n\t4=查询Hero\n\t0=退出\n请输入您的选择:");
int select = sc.nextInt();
switch (select) {
case 0:
System.out.println("ByeBye");
break;
case 1:
Hero hero = new Hero();
System.out.println("添加Hero:");
System.out.println("请输入Hero的id:");
hero.setId(sc.nextInt());
System.out.println("请输入Hero的star:");
hero.setStar(sc.next());
System.out.println("请输入Hero的name:");
hero.setName(sc.next());
System.out.println("请输入Hero的nicknanme:");
hero.setNickname(sc.next());
System.out.println("请输入Hero的job:");
hero.setJob(sc.next());
System.out.println("请输入Hero的address:");
hero.setAddress(sc.next());
System.out.println("请输入Hero的powerValue:");
hero.setPowerValue(sc.nextInt());
System.out.println("请输入Hero的info:");
hero.setInfo(sc.next());
// 添加内容
heroManager.addHero(hero);
break;
case 4:
System.out.println("请选择查询的方式:1=查询全部,2=姓名查询,3=昵称查询,4=地址查询:");
int searchSelect = sc.nextInt();
switch (searchSelect) {
case 1:
System.out.println("查询得到的信息:");
List<Hero> heroes = heroManager.searchAll();
for (Hero h : heroes) {
System.out.println(h);
}
break;
case 2:
System.out.println("请输入Hero的姓名:");
String searchHeroName = sc.next();
Hero heroByName = heroManager.searchHeroByName(searchHeroName);
System.out.println(heroByName);
break;
case 3:
System.out.println("请输入Hero的昵称:");
String searchHeroNickname = sc.next();
Hero heroByNickname = heroManager.searchHeroByNickname(searchHeroNickname);
System.out.println(heroByNickname);
break;
case 4:
System.out.println("请输入Hero的地址:");
String searchHeroAddress = sc.next();
List<Hero> heroesAddress = heroManager.searchHeroByAddress(searchHeroAddress);
for (Hero h2 : heroesAddress) {
System.out.println(h2);
}
break;
default:
break;
}
default:
break;
}
}
}
}