PriceAsc.java
package sightManager;
import java.util.*;
public class PriceAsc implements Comparator<Scenic> {
@Override
public int compare(Scenic o1, Scenic o2) {
// TODO Auto-generated method stub
int res=0;
if(o1.getPrice()>o2.getPrice()){
res =1;
}
else if(o1.getPrice()<o2.getPrice()){
res=-1;
}
return res;
}
}
Scenic.java
package sightManager;
/**
* 景点类
* @author 雨
*
*/
public class Scenic {
private String name;
private double price;
private int start;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public String toString() {
return "景点名称:" + name + "景点价格:" + price + "景点星级:" + start;
}
public Scenic() {
super();
// TODO Auto-generated constructor stub
}
public Scenic(String name, double price, int start) {
super();
this.name = name;
this.price = price;
this.start = start;
}
public int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
}
ScenicManager.java
package sightManager;
import java.util.*;
/**
* 景点管理类
* @author 雨
*
*/
public class ScenicManager {
private String ScenicName;
private ArrayList<Scenic> arrayList;
public String getScenicName() {
return ScenicName;
}
public void setScenicName(String scenicName) {
ScenicName = scenicName;
}
public ArrayList<Scenic> getArrayList() {
return arrayList;
}
public void setArrayList(ArrayList<Scenic> arrayList) {
this.arrayList = arrayList;
}
public ScenicManager(String scenicName, ArrayList<Scenic> arrayList) {
super();
ScenicName = scenicName;
this.arrayList = arrayList;
}
public ScenicManager() {
super();
arrayList=new ArrayList<Scenic>();
// TODO Auto-generated constructor stub
}
public void start(){
//初始化;
Scenic scanic1=new Scenic("岳麓山",40,5);
Scenic scanic2=new Scenic("白沙井",5,3);
Scenic scanic3=new Scenic("橘子洲",30,4);
Scenic scanic4=new Scenic("植物园",20,2);
arrayList.add(scanic1);
arrayList.add(scanic2);
arrayList.add(scanic3);
arrayList.add(scanic4);
}
//添加景区;
public boolean add(Scenic scenic){
boolean flag=false;//差重;
if(!arrayList.contains(scenic)){
flag=true;
arrayList.add(scenic);
}
return flag;
}
//修改景区
public void xiugai(String name){
for(int i=0;i<arrayList.size();i++){
if(name.equals(arrayList.get(i).getName())){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入修改后的景区名称");
String name2 = scanner.next();
arrayList.get(i).setName(name2);
System.out.println("请输入修改后的景区价格");
double price = scanner.nextDouble();
arrayList.get(i).setPrice(price);
System.out.println("请输入修改后的景区的等级");
int start = scanner.nextInt();
arrayList.get(i).setStart(start);
System.out.println("修改成功");
}
}
}
//删除方法
public void delete(String name){
for(int i=0;i<arrayList.size();i++){
if(name.equals(arrayList.get(i).getName())){
arrayList.remove(arrayList.get(i));
System.out.println("删除成功!");
}
else{
System.out.println("删除失败!");
}
}
}
//按名称查询
public void nameInq(String String){
for(int i=0;i<arrayList.size();i++){
if(arrayList.get(i).getName().trim().equals(String))
System.out.println(arrayList.get(i).toString());
}
}
//按价格查询
public void priceInq(Double a){
for(int i=0;i<arrayList.size();i++){
if(arrayList.get(i).getPrice()==a)
System.out.println(arrayList.get(i).toString());
}
}
//按等级查询
public void startInq(int b){
for(int i=0;i<arrayList.size();i++){
if(arrayList.get(i).getStart()==b)
System.out.println(arrayList.get(i).toString());
}
}
public void priceSort(){
//价格排序
Collections.sort(arrayList,new PriceAsc());
for(Scenic v:arrayList){
System.out.println(v);
}
}
public void startSort(){
//星级排序
Collections.sort(arrayList,new StartAsc());
for(Scenic v:arrayList){
System.out.println(v);
}
}
public void showAll(){
for (Scenic s: arrayList) {
System.out.println(s);
}
}
}
Start.java
package sightManager;
/**
* 主程序
*/
import java.util.Scanner;
import sightManager.Scenic;
import sightManager.ScenicManager;
public class Start {
/**
* 初始化菜单
*/
public void initMenu() {
boolean flag = true;
Scanner scanner = new Scanner(System.in);
int mark = 0;//选择项1-11;
ScenicManager scenicManager = null;
boolean init = false;// 是否初始化;
while (flag) {
System.out.println("欢迎使用景区管理模块");
System.out.println("1 初始化");
System.out.println("2 添加景区");
System.out.println("3 修改景区");
System.out.println("4 删除景区");
System.out.println("5 根据景区名称查找景区对象 ");
System.out.println("6 根据景区价格查找景区对象");
System.out.println("7 根据景区等级查找景区对象");
System.out.println("8 价格排序(升序)");
System.out.println("9 等级排序(升序)");
System.out.println("10 显示所有景区信息");
System.out.println("11 退出");
mark = scanner.nextInt();
switch (mark) {
case 1:
//初始化景区
scenicManager = new ScenicManager();
System.out.println("请初始化景区管理局名称");
String name = scanner.next();
scenicManager.setScenicName(name);
System.out.println("初始化完成");
init = true;
scenicManager.start();
scenicManager.showAll();
break;
case 2:
//添加景区
try {
checkInit(init);
System.out.println("请输入即将添加的景区名称");
String name2 = scanner.next();
System.out.println("请输入即将添加的景区价格");
double price = scanner.nextDouble();
System.out.println("请输入即将添加的景区等级");
int start = scanner.nextInt();
Scenic scenic=new Scenic(name2, price, start);
//调用管理类的方法
if(scenicManager.add(scenic))
{
System.out.println("景区添加成功");
}
else{
System.out.println("景区添加失败");
}
}
catch (Exception e) {
// TODO Auto-generated catch block
System.out.println(e.getMessage());
System.out.println("出现异常了,你个2货");
}
break;
case 3:
//修改景区
try {
checkInit(init);
System.out.println("请输入景区名称");
String name3 = scanner.next();
scenicManager.xiugai(name3);
} catch (Exception e) {
System.out.println(e.getMessage());
System.out.println("出现异常了,你个2货");
}
break;
case 4:
//删除景区
try {
checkInit(init);
System.out.println("请输入景区名称");
String name4 = scanner.next();
scenicManager.delete(name4);
}
catch (Exception e) {
// TODO 自动生成的 catch 块
System.out.println(e.getMessage());
System.out.println("出现异常了,你个2货");
}
break;
case 5:
//根据景区名称查找景区对象
try {
checkInit(init);
System.out.println("请输入景区名称");
String name5 = scanner.next();
scenicManager.nameInq(name5);
} catch (Exception e) {
// TODO 自动生成的 catch 块
System.out.println(e.getMessage());
}
break;
case 6:
//根据景区价格查找景区对象
try {
checkInit(init);
System.out.println("请输入景区价格");
Double name6 = scanner.nextDouble();
scenicManager.priceInq(name6);
} catch (Exception e) {
System.out.println(e.getMessage());
}
break;
case 7:
//根据景区等级查找景区对象
try {
checkInit(init);
System.out.println("请输入景区等级");
int name7 = scanner.nextInt();
scenicManager.startInq(name7);
} catch (Exception e) {
System.out.println(e.getMessage());
}
break;
case 8:
//价格排序
try {
checkInit(init);
System.out.println("价格升序");
scenicManager.priceSort();
} catch (Exception e) {
// TODO 自动生成的 catch 块
System.out.println(e.getMessage());
}
break;
case 9:
//星级排序
try {
checkInit(init);
System.out.println("等级升序");
scenicManager.startSort();
} catch (Exception e) {
// TODO 自动生成的 catch 块
System.out.println(e.getMessage());
}
break;
case 10:
//显示所有景区信息
try {
checkInit(init);
scenicManager.showAll();
} catch (Exception e) {
// TODO 自动生成的 catch 块
System.out.println(e.getMessage());
}
break;
case 11:
//退出程序
flag = false;
break;
default:
break;
}
}
System.out.println("程序结束了");
}
/**
* 检验是否初始化成功
* @param init
* @throws Exception
*/
public void checkInit(boolean init) throws Exception {
if (!init) {
// 手工抛出异常
throw new Exception("你没有初始化,请选择");
}
}
public void checkSort(boolean sort) throws Exception {
if (!sort) {
// 手工抛出异常
throw new Exception("你没有初始化,请选择");
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
// 初始化
Start start = null;
try {
start = new Start();
// 实例名 使用范围 {}
start.initMenu();
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("选择菜单错误....");
start.initMenu();
}
}
}
StartAsc.java
package sightManager;
import java.util.Comparator;
/***
* 等级降序类
* @author
*
*/
public class StartAsc implements Comparator<Scenic>{
@Override
public int compare(Scenic o1, Scenic o2) {
// TODO Auto-generated method stub
int res=0;
if(o1.getStart()>o2.getStart()){
res =1;
}
else if(o1.getStart()<o2.getStart()){
res=-1;
}
return res;
}
}