JavaOOP项目 - 嗖嗖移动业务大厅


项目目录结构


服务接口

  • 通讯服务接口
package ServicePackage;
//通讯服务
public interface CallService {int call(int minCount);
}
  • 短信服务接口
package ServicePackage;
//短信服务
public interface SendService {int sendMessage(int count);
}
  • 网络服务接口
package ServicePackage;
//上网服务
public interface NetService {int netPlay(int flow);
}

套餐类

  • 基本套餐类
package ServicePackage;
//套餐类
public abstract class ServicePackage implements NetService,CallService,SendService{private String type;//套餐类型private double price;//资费private int flow;//流量private int talkTime;//通话时长private int smsCount;//短信条数int Sjs;//随机数public ServicePackage() { }public String getType() {return type;}void setType(String type) {this.type = type;}public double getPrice() {return price;}void setPrice(double price) {this.price = price;}public int getFlow() {return flow;}public void setFlow(int flow) {this.flow = flow;}public int getTalkTime() {return talkTime;}public void setTalkTime(int talkTime) {this.talkTime = talkTime;}public int getSmsCount() {return smsCount;}public void setSmsCount(int smsCount) {this.smsCount = smsCount;}public int getSjs() {return Sjs;}public abstract void showInfo();//资费信息//生成使用数据public void showSjs(){Sjs =  (int)((Math.random()*9)+1);}@Overridepublic int call(int minCount) {showSjs();System.out.println("打了个电话,使用了"+Sjs+"分钟通话时长");return minCount - Sjs;//返回使用后的剩余数据}@Overridepublic int netPlay(int flow) {showSjs();System.out.println("上了个网,使用了"+Sjs+"G流量");return flow - Sjs;}@Overridepublic int sendMessage(int count) {showSjs();System.out.println("发了一手短信,使用了"+Sjs+"条短信");return count - Sjs;}
}
  • 网虫套餐
package ServicePackage;
//网虫套餐
public class NetPackage extends ServicePackage implements NetService{public NetPackage(){setType("网虫套餐");//套餐类型setFlow(40);//流量setPrice(19);//费用}@Overridepublic void showInfo() {System.out.println("套餐类型:" + getType());System.out.println("上网流量:" + getFlow() + "G/月");System.out.println("月租:" + getPrice() + "元/月");}@Overridepublic int netPlay(int flow) {showSjs();System.out.println("网上冲浪看mm,使用了"+Sjs+"G流量");return flow - Sjs;}
}
  • 话痨套餐
package ServicePackage;
//话痨套餐
public class TalkPackage extends ServicePackage implements CallService,SendService{public TalkPackage() {setType("话痨套餐");//套餐类型setTalkTime(300);//通话时长setSmsCount(100);//短信条数setPrice(66);//资费信息}@Overridepublic void showInfo() {System.out.println("套餐类型:" + getType());System.out.println("通话时长:" + getTalkTime() + "分钟/月");System.out.println("短信条数:" + getSmsCount() + "条/月");System.out.println("月租:" + getPrice() + "元/月");}@Overridepublic int call(int minCount) {showSjs();System.out.println("和好老表唠了会嗑,使用了"+Sjs+"分钟通话时间");return minCount - Sjs;}@Overridepublic int sendMessage(int count) {showSjs();System.out.println("给MZ发短信,使用了"+Sjs+"条短信");return count - Sjs;}
}
  • 超人套餐
package ServicePackage;
//超人套餐
public class SuperPackage extends ServicePackage implements CallService,NetService,SendService{public SuperPackage() {setType("超人套餐");//套餐类型setTalkTime(500);//通话时长setSmsCount(200);//短信条数setFlow(80);//流量setPrice(199);//资费信息}@Overridepublic void showInfo() {System.out.println("套餐类型:" + getType());System.out.println("通话时长:" + getTalkTime() + "分钟/月");System.out.println("短信条数:" + getSmsCount() + "条/月");System.out.println("上网流量:" + getFlow() + "G/月");System.out.println("月租:" + getPrice() + "元/月");}@Overridepublic int call(int minCount) {showSjs();System.out.println("和好老表唠了会嗑,使用了"+Sjs+"分钟通话时间");return minCount - Sjs;}@Overridepublic int netPlay(int flow) {showSjs();System.out.println("网上冲浪看抖音,使用了"+Sjs+"G流量");return flow - Sjs;}@Overridepublic int sendMessage(int count) {showSjs();System.out.println("给MZ发短信,使用了"+Sjs+"条短信");return count - Sjs;}
}

手机卡类

package SosoMgr;import ServicePackage.ServicePackage;//手机卡,用户
public class MobileCard {private String UserName;//用户名private String Password;//用户密码private String CardNum;//卡号private ServicePackage SerPackage;//套餐private double consumAmount;//累计消费金额private double money;//余额(可用)private int realTalkTime;//语言时长(可用)private int realSMSCount;//短信条数(可用)private int realFlow;//流量(可用)public MobileCard() {}public String getUserName() {return UserName;}public void setUserName(String userName) {UserName = userName;}public String getPassword() {return Password;}public void setPassword(String password) {Password = password;}public String getCardNum() {return CardNum;}public void setCardNum(String cardNum) {CardNum = cardNum;}public ServicePackage getSerPackage() {return SerPackage;}public void setSerPackage(ServicePackage serPackage) {SerPackage = serPackage;}public double getConsumAmount() {return consumAmount;}public void setConsumAmount(double consumAmount) {this.consumAmount = consumAmount;}public double getMoney() {return money;}public void setMoney(double money) {this.money = money;}public int getRealTalkTime() {return realTalkTime;}public void setRealTalkTime(int realTalkTime) {this.realTalkTime = realTalkTime;}public int getRealSMSCount() {return realSMSCount;}public void setRealSMSCount(int realSMSCount) {this.realSMSCount = realSMSCount;}public int getRealFlow() {return realFlow;}public void setRealFlow(int realFlow) {this.realFlow = realFlow;}
}

消费信息

package SosoMgr;//消费信息
public class ConsumInfo {private String cardNumber;//卡号private String type;//套餐类型private String consumData;//消费数据public ConsumInfo() {}public ConsumInfo(String cardNumber, String type, String consumData) {this.cardNumber = cardNumber;this.type = type;this.consumData = consumData;}public String getCardNumber() {return cardNumber;}public void setCardNumber(String cardNumber) {this.cardNumber = cardNumber;}public String getType() {return type;}public void setType(String type) {this.type = type;}public String getConsumData() {return consumData;}public void setConsumData(String consumData) {this.consumData = consumData;}
}

注册系统

package SosoMgr;import ServicePackage.ServicePackage;import java.util.*;//注册系统
public class RegistSystem {private String CardNumber;//所选卡号private ServicePackage tcSP;//所选套餐private String UserName;//用户名private String Password;//用户密码private double money;//预存话费private RegistSystem(){}static MobileCard RegistSys(List<ServicePackage> SerPack){Scanner SR = CardUtil.SR;RegistSystem rs = new RegistSystem();System.out.println("******************可选择卡号******************");List<String> cards = new ArrayList<>(rs.cardSJ());//生成可用卡号for(int i = 0;i < cards.size();i++){//遍历可用卡号集System.out.print((i+1)+"、"+cards.get(i)+"\t");//输出可用卡号if((i+1)%3==0){//每打印三次后换行System.out.print("\n");}}do{String Z_card = "[1-9]";System.out.print("请选择卡号(输入1-9的序号):");String xzCard = SR.next();//选择卡号序号if(xzCard.matches(Z_card)){int xzCardI = Integer.parseInt(xzCard);rs.CardNumber = cards.get(xzCardI-1);//获取对应序号的号码break;}else{System.out.println("输入错误,无此选项!");}}while(true);System.out.println("******************可选套餐******************");for(int i = 0;i < SerPack.size();i++){//遍历套餐集System.out.print((i+1)+"、"+SerPack.get(i).getType()+"\n");}do{String Z_card = "[1-"+ SerPack.size() +"]";System.out.print("请选择套餐:");String xzTaoCan = SR.next();//选择套餐if(xzTaoCan.matches(Z_card)){int tcI = Integer.parseInt(xzTaoCan);rs.tcSP = SerPack.get(tcI-1);//获取对应序号的套餐break;}else{System.out.println("输入错误,无此选项!");}}while(true);System.out.println("-----------------------------------------------");do{System.out.print("请设置姓名:");String Z_Name = "[\\D&&\\S]{2,6}";String userName = SR.next();//设置名字if(userName.matches(Z_Name)){rs.UserName = userName;//保存名字break;}else{System.out.println("名字不符合规范!\n名字中不能含有数字,并大于2个不大于6个字符");}}while(true);do{System.out.print("请设置密码:");String Z_password = "\\S{6,16}";String password = SR.next();//设置密码if(password.matches(Z_password)){rs.Password = password;//保存密码break;}else{System.out.println("密码不符合规范!\n密码要大于6位不大于16位");}}while(true);do{System.out.print("预存话费金额:");String Z_money = "\\d*";String S_money = SR.next();//输入存入话费if(S_money.matches(Z_money)){double mon = Double.parseDouble(S_money);if(mon > rs.tcSP.getPrice()){//判断存入话费是否大于所选套餐资费rs.money = mon;//保存存入话费break;}else{System.out.println("存入的话费必须大于套餐月租!");}}else{System.out.println("输入错误!请输入数字!");}}while(true);MobileCard mCard = rs.caedSet();//制作手机卡,并接收制作好的手机卡System.out.println("注册成功!\n卡号:"+mCard.getCardNum()+" 、用户名:"+mCard.getUserName()+" 、余额(已扣除月租):"+mCard.getMoney());//打印客户信息rs.tcSP.showInfo();//打印套餐信息return mCard;//返回制作完成的手机卡}//手机卡制作系统,将数据刻录入手机卡,并返回制作好的手机卡private MobileCard caedSet(){MobileCard mCard = new MobileCard();//获取初始(空白)手机卡mCard.setCardNum(CardNumber);//给手机卡设置号码mCard.setUserName(UserName);//给手机卡设置名字mCard.setPassword(Password);//给手机卡设置密码mCard.setSerPackage(tcSP);//给手机卡设置套餐//设置手机卡初始余额,扣除套餐月租double price = mCard.getSerPackage().getPrice();//获取手机卡套餐月租mCard.setMoney(money-price);//将月租扣除,并设置余额mCard.setConsumAmount(price);//记录已扣除费用mCard.setRealTalkTime(mCard.getSerPackage().getTalkTime());//设置手机卡初始语音时长mCard.setRealSMSCount(mCard.getSerPackage().getSmsCount());//设置手机卡初始短信条数mCard.setRealFlow(mCard.getSerPackage().getFlow());//设置手机卡初始流量//返回用户信息return mCard;}//卡号生成系统private Set cardSJ(){CardUtil cu = CardUtil.cuObject();//工具类对象Set<String> Cards = new HashSet<>();//可用卡号集for(int a = 0;a<9;a++){//生成9个可用号码String cardnum = "199";//初始卡号开头for(int i = 0;i<8;i++){//随机生成8位整数cardnum += (int)(Math.random()*10);}boolean ja = false;if(!cu.cards.containsKey(cardnum)){//判断新生成的手机号是否已存在ja = Cards.add(cardnum);//将手机号添加进集合}if(!ja){//若手机号添加失败,则重新进行添加a--;}}return Cards;}
}

工具类

package SosoMgr;import ServicePackage.*;
import java.io.*;
import java.util.*;//工具类
public class CardUtil {public static Scanner SR = new Scanner(System.in);List<ServicePackage> SerPack = new ArrayList<>();//套餐集Map<String,MobileCard> cards = new HashMap<>();//手机卡集、手机号 对应 手机卡Map<String,List<ConsumInfo>> ConsumInfos = new HashMap<>();//消费信息集、手机号 对应 消费信息{//将套餐存入套餐集SerPack.add(new NetPackage());SerPack.add(new TalkPackage());SerPack.add(new SuperPackage());}private CardUtil(){}private static CardUtil cu = new CardUtil();//工具类对象public static CardUtil cuObject(){return cu;//返回工具类对象}//注册,将手机卡存入手机卡集void registCard(){MobileCard mCard = RegistSystem.RegistSys(SerPack);//启动注册系统,传入套餐集,并接收制作好的手机卡cards.put(mCard.getCardNum(),mCard);//将手机号与对应的手机卡存入集合//给手机号绑定消费记录集List<ConsumInfo> consumInfos = new ArrayList<>();//消费信息集ConsumInfos.put(mCard.getCardNum(),consumInfos);//将手机号与与消费信息集存入集合}//登录MobileCard LoginMenu(String monbileNumber){//传入手机号boolean Pcn = cards.containsKey(monbileNumber);//判断手机卡集中是否存在此手机号if(Pcn){MobileCard card = cards.get(monbileNumber);//获取指定手机号对应的手机卡System.out.print("请输入密码:");String passwd = SR.next();if(card.getPassword().equals(passwd)){return card;//密码输入正确后返回对应手机卡}else{System.out.println("密码错误!");}}else{System.out.println("此号码不存在!");}return null;}//充值话费public void InputMoney(String monbileNumber){if(cards.containsKey(monbileNumber)){//判断手机卡集中是否存在此手机号System.out.print("请输入充值金额:");double inputMoney = 0;try {Scanner s = new Scanner(System.in);inputMoney = s.nextDouble();//s.close();}catch(Exception e){}if(inputMoney > 0){MobileCard card = cards.get(monbileNumber);//获取指定手机号对应的手机卡card.setMoney(card.getMoney() + inputMoney);//将充值金额加入余额System.out.println("卡号:"+monbileNumber+"的用户,充值成功!\n余额:"+card.getMoney());}else{System.out.println("充值失败!");}}else{System.out.println("此号码不存在!");}}//使用嗖嗖public void RunSoso(String monbileNumber){//调用功能传入剩余用量,使用功能后扣除使用量,返回剩余用量boolean Pcn = cards.containsKey(monbileNumber);//判断手机卡集中是否存在此手机号if(Pcn){MobileCard card = cards.get(monbileNumber);//获取传入手机号对应手机卡ServicePackage SerPac = card.getSerPackage();//获取手机卡的套餐if(card.getMoney() > 0){//判断是否还有余额//记录消费信息List<ConsumInfo> coninf = ConsumInfos.get(monbileNumber);//获取对应手机号的消费记录集ConsumInfo Con = new ConsumInfo(monbileNumber,SerPac.getType(),"");coninf.add(Con);System.out.println("\t1.拨打电话");System.out.println("\t2.发送短信");System.out.println("\t3.网上冲浪");System.out.println("**********************************");System.out.print("请输入:");String xzSo = SR.next();switch(xzSo){case "1":int TalkTime = SerPac.call(card.getRealTalkTime());//调用通话方法,传入可用通话时长,返回使用后的时长int T = SerPac.getSjs();//消耗的时长if(TalkTime < 0){//判断是否还有剩余用量double M = T * 0.2;//用超出的时长 乘以 每次超出1的费用 得出超出的费用card.setConsumAmount(card.getConsumAmount() + M);//记录消费金额card.setMoney(card.getMoney() - M);//用原有的钱扣除使用的钱,得出余额}card.setRealTalkTime(TalkTime);//更改使用后的时长Con.setConsumData("号码:"+Con.getCardNumber()+" 套餐:"+Con.getType()+" 使用了电话功能 使用时长:"+T+"分钟");break;case "2":int SMSCount = SerPac.sendMessage(card.getRealSMSCount());int S = SerPac.getSjs();if(SMSCount < 0){double M = S * 0.1;card.setConsumAmount(card.getConsumAmount() + M);//记录消费金额card.setMoney(card.getMoney() - M);}card.setRealSMSCount(SMSCount);Con.setConsumData("号码:"+Con.getCardNumber()+" 套餐:"+Con.getType()+" 使用了短信功能 使用条数:"+S+"条");break;case "3":int Flow = SerPac.netPlay(card.getRealFlow());int F = SerPac.getSjs();if(Flow < 0){double M = F * 3;card.setConsumAmount(card.getConsumAmount() + M);//记录消费金额card.setMoney(card.getMoney() - M);}card.setRealFlow(Flow);Con.setConsumData("号码:"+Con.getCardNumber()+" 套餐:"+Con.getType()+" 使用了上网功能 使用流量:"+F+"G");break;default:System.out.println("返回上一级...");}}else{System.out.println("余额不足!请尽快缴费!");}}else{System.out.println("此号码不存在!");}}//打印消费详单public void OutXF(String cardNum){List<ConsumInfo> Conl = ConsumInfos.get(cardNum);//获取手机号对应的套餐集if(!Conl.isEmpty()){File fi = new File("消费记录");fi.mkdirs();File f = new File(fi , cardNum +"消费记录单.txt");try {Writer w = new FileWriter(f);for(ConsumInfo i : Conl){w.write(i.getConsumData()+"\n");w.flush();//强制让输出流输出数据}System.out.println("打印成功,请在消费记录目录下查看详单");w.close();} catch (IOException e) {System.out.println("出错,打印失败!");}}else{System.out.println("暂无消费记录,无法打印!");}}//资费说明public void PriceInfo(){System.out.println("\n*****************资费说明*****************");for(ServicePackage ser : SerPack){ser.showInfo();System.out.println("-----------------------");}System.out.println("超出套餐计费:");System.out.println("通话时长:0.2元/分钟");System.out.println("短信条数:0.1元/条");System.out.println("上网流量:3元/G");}//手机号判断public Object[] cardNumIf(){Object[] StrBoo = new Object[2];//Object类型数组,储存手机号与布尔值String Z_cardNum = "[0-9]{11}";//11位并只能为0-9中的数字System.out.print("请输入手机卡号:");String cardNum = SR.next();if(cardNum.matches(Z_cardNum)){StrBoo[0] = cardNum;//存入手机号StrBoo[1] = true;}else{StrBoo[0] = "手机号必须为11位整数";StrBoo[1] = false;}return StrBoo;}
}

业务大厅

package SosoMgr;import ServicePackage.ServicePackage;import java.util.Scanner;//嗖嗖移动业务大厅
public class SosoMgr {Scanner SR = CardUtil.SR;CardUtil cu = CardUtil.cuObject();//工具类对象public static void main(String[] args) {SosoMgr sm = new SosoMgr();boolean FH_SouYie = false;//用于判断是否返回大厅首页do{FH_SouYie = sm.mainMenu();//启动主菜单}while(FH_SouYie);sm.SR.close();}//主菜单private boolean mainMenu() {System.out.println("\n******************欢迎使用嗖嗖移动业务大厅******************");System.out.println("\t1.用户登录");System.out.println("\t2.用户注册");System.out.println("\t3.使用嗖嗖");System.out.println("\t4.话费充值");System.out.println("\t5.资费说明");System.out.println("\t6.退出系统");System.out.println("*********************************************************");System.out.print("请选择:");String SY_XuanZe = SR.next();//首页选择switch (SY_XuanZe){case "1"://用户登录Object[] StrBoo = cu.cardNumIf();String Card_Ts = (String)StrBoo[0];boolean bool = (boolean)StrBoo[1];if(bool){MobileCard card = cu.LoginMenu(Card_Ts);if(card != null){cardMenu(card);}}else{System.out.println(Card_Ts);}return true;case "2"://用户注册cu.registCard();//调用工具类中注册系统return true;case "3"://使用嗖嗖System.out.println("\n*****************使用嗖嗖*****************");Object[] StrBoo3 = cu.cardNumIf();String Card_Ts3 = (String)StrBoo3[0];boolean bool3 = (boolean)StrBoo3[1];if(bool3){cu.RunSoso(Card_Ts3);}else{System.out.println(Card_Ts3);}return true;case "4"://话费充值Object[] StrBoo4 = cu.cardNumIf();String Card_Ts4 = (String)StrBoo4[0];boolean bool4 = (boolean)StrBoo4[1];if(bool4){cu.InputMoney(Card_Ts4);}else{System.out.println(Card_Ts4);}return true;case "5"://资费说明cu.PriceInfo();return true;case "6"://退出系统System.out.println("感谢您使用嗖嗖移动业务");return false;default:System.out.println("无此选项!");return true;}}//登录菜单private void cardMenu(MobileCard card){boolean xzPD = false;String cardNum = card.getCardNum();//手机号String Uname = card.getUserName();//用户名do{System.out.println("*******嗖嗖移动用户菜单*******");System.out.println("\t1.本月账单查询");System.out.println("\t2.套餐余量查询");System.out.println("\t3.打印消费详单");System.out.println("\t4.套餐更变");System.out.println("\t5.办理退网");System.out.println("*****************************");System.out.print("请选择:");String loginXZ = SR.next();switch(loginXZ){case "1":System.out.println("******本月账单查询******");System.out.println("卡号:" + cardNum + "的用户:" + Uname + "你好!");System.out.println("当月账单:");System.out.println("\t套餐资费:" + card.getSerPackage().getPrice() + "元");System.out.println("\t累计消费:" + Double.valueOf(String.format("%.1f" , card.getConsumAmount())) + "元");System.out.println("\t账户余额:" + Double.valueOf(String.format("%.1f",card.getMoney())) + "元");xzPD = true;break;case "2":System.out.println("******套餐余量查询******");System.out.println("卡号:" + cardNum + "的用户:" + Uname + "你好!");System.out.println("套餐内剩余(负数代表超出):");System.out.println("\t通话时长:" + card.getRealTalkTime() + "分钟");System.out.println("\t短信条数:" + card.getRealSMSCount() + "条");System.out.println("\t可用流量:" + card.getRealFlow() + "G");xzPD = true;break;case "3":System.out.println("******打印消费详单******");cu.OutXF(cardNum);xzPD = true;break;case "4":System.out.println("******套餐更变******");for(int i = 0;i<cu.SerPack.size();i++){//遍历套餐集System.out.print((i+1)+"、"+cu.SerPack.get(i).getType()+"  ");}System.out.println("\n********************");System.out.print("请选择:");String Z_card = "[1-"+ cu.SerPack.size() +"]";String xzGBs = SR.next();if(xzGBs.matches(Z_card)){int xzGB = Integer.parseInt(xzGBs);String YcardT = card.getSerPackage().getType();//获取现套餐类型ServicePackage SerPac = cu.SerPack.get(xzGB-1);//获取所选套餐if(card.getMoney() >= SerPac.getPrice()){//判断当前手机卡余额,是否可抵扣要更换套餐的月租card.setSerPackage(SerPac);//更改套餐card.setRealTalkTime((card.getRealTalkTime()<0?0:card.getRealTalkTime()) + card.getSerPackage().getTalkTime());//加入更改套餐的语音时长card.setRealSMSCount((card.getRealSMSCount()<0?0:card.getRealSMSCount()) + card.getSerPackage().getSmsCount());//加入更改套餐的短信条数card.setRealFlow((card.getRealFlow()<0?0:card.getRealFlow()) + card.getSerPackage().getFlow());//加入更改套餐的流量card.setMoney(card.getMoney() - card.getSerPackage().getPrice());//扣除更改套餐的月租System.out.println("更变套餐成功!" + YcardT + " --> " + card.getSerPackage().getType());}else{System.out.println("套餐更变失败!可用余额不足以抵扣月租");}}else{System.out.println("无此套餐!");}xzPD = true;break;case "5":System.out.println("******办理退网******");cu.cards.remove(cardNum);//删除指定手机号与对应手机卡System.out.println("卡号:"+cardNum+"的用户,办理退网成功!\n谢谢使用");xzPD = false;break;default:System.out.println("返回上级菜单...");xzPD = false;}}while(xzPD);}
}

JavaOOP项目 - 嗖嗖移动业务大厅相关推荐

  1. java项目嗖嗖移动业务大厅项目报告_晋江市撰写节能评估报告的报告机构立项范本-文瑞...

    文瑞承接可行性研究报告.项目建议书.立项报告.资金申请报告.项目申请报告.项目实施方案.节能报告.评估报告.商业计划书.投标书等各类文案以及各行业甲.乙.丙级工程资质.晋江市撰写节能评估报告的报告机构 ...

  2. java项目嗖嗖移动业务大厅项目报告_Java就业指导课程

    Java就业指导 想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊的东 ...

  3. 作业~嗖嗖移动业务大厅

    /** 测试类 业务类 @author Chen HuiHong @author 2020年6月6日{time} @Tel 18073799961 */ public class TestSosoMg ...

  4. 嗖嗖移动业务大厅小项目

    package SOSO;/*** CallService** @author yaoxinxin* @version 1.0* @description 打电话接口* @date 2022/9/14 ...

  5. 使用java实现面向对象编程第十章嗖嗖移动业务大厅项目_ACCP6.0使用Java实现面向对象编程-第一章.ppt...

    ACCP6.0使用Java实现面向对象编程-第一章 练习--用类图设计Dog和Penguin类 需求说明: 运用面向对象思想抽象出Dog类和Penguin类,画出对应类图 根据类图编写Dog类和Pen ...

  6. 使用java实现面向对象编程第十章嗖嗖移动业务大厅项目_ACCP6.0 S2 使用Java实现面向对象编程 第一章...

    使用this调用成员方法 public void paly(int n){ health=health-n; this.print(); //this可以省略,直接调用print(): } 使用thi ...

  7. 嗖嗖移动业务大厅代码_移动云应用性能监控,掌控云时代的多变应用

    引言:据预测,2021年全球应用性能监控市场规模将达到51.63亿美元:中国应用性能监控行业市场规模将扩大至69.63亿元人民币,已经进入高速成长期. 在云时代 智能化使企业的应用管理日渐复杂 丰富的 ...

  8. java怎么编写嗖嗖手机_JAVA项目-嗖嗖移动

    importjava.io.IOException;importjava.util.Scanner;/*** 业务类*/ classSosoMgr { Scanner input= newScanne ...

  9. java-se项目--嗖嗖移动

    系统概述:实现嗖嗖移动业务大厅 "嗖嗖移动"为继移动.联通.电信后的第四大通信运营商,现需实现其官网的部分功能,如下: 用户注册 用户登录 话费充值 资费说明 本月账单查询 套餐余 ...

  10. JAVA项目-嗖嗖移动

    /*** 移动卡类*/ public class MobileCard {private String cardNumber; //卡号private String userName; //用户名pr ...

最新文章

  1. php前端传过来的json数据丢失 (max_input_vars)
  2. Android性能优化之运算篇(二)
  3. linux compress tar,Linux命令:压缩指令(compress,uncompress,gzip,gunzip,tar)
  4. jstl核心标签使用
  5. 【风险管理】金融产品一站式解决方案
  6. Eclipse+MyEclipse+Tomcat平台搭建步骤
  7. 微小宝公众号排行榜_排行榜 | 山西省高校、高职中专微信公众号周数据排行榜...
  8. 一加10 Pro首发定制X轴线性马达:Top级超大体积 安卓阵营马达天花板
  9. 微课|中学生可以这样学Python(例7.2):三维向量类
  10. java操作properties文件简单学习
  11. 统计php 代码行数,PHP实现统计代码行数小工具
  12. centos7 安装sogou输入法
  13. k8s 删除资源卡住
  14. 工信部发布《2018中国区块链产业白皮书》:量子计算机将给密码体系带来重大安全威胁
  15. 电脑怎么还原系统win11
  16. base64加密--excel--pdf--img 上传
  17. Excel给文档设置(取消)密码(打开密码和修改密码)
  18. 什么是SDWAN:起源背景
  19. Windows XP 安装 MTP 驱动
  20. 用微软工具做一个纯净的系统启动盘(图文教程)

热门文章

  1. 在Edge浏览器中设置编码方式
  2. 微信小程序开发者账号注册以及开发者工具的使用
  3. Machine Learning机器学习自学资料整理
  4. office出现0x4004F00C错误
  5. 环比同比YOY\QoQ及QQ\PP图Q-Q\P-P…
  6. 财务风险分析从哪几个角度进行分析
  7. HTML小游戏2—— 2048网页版(附完整源码)
  8. 【FXCG】美国加息缩表在即,人民币仍创新高
  9. 上计算机课应该有的表现,计算机应用基础学习过程表现
  10. pfamscan 的使用_48个在线分析使用工具