System.out.println(“2 修改客户”);
System.out.println(“3 删除客户”);
System.out.println(“4 客户列表”);
System.out.println(“5 退 出”);
System.out.println(“请选择(1-5):”);
//调用工具类中的方法判断输入
char c = CMUtility.readMenuSelection();
switch ©{
case ‘1’:
addNewCustomer();
break;
case ‘2’:
modifyCustomer();
break;
case ‘3’:
deleteCustomer();
break;
case ‘4’:
listAllCustomers();
break;
case ‘5’:
System.out.println(“确认是否退出(Y/N):”);
char c1 = CMUtility.readConfirmSelection();
if(c1==‘Y’){
System.out.println(“退出成功”);
//JVM退出,程序结束运行
System.exit(0);
}else {
System.out.println(“已取消退出”);
System.out.println();
}
}
}
}
}
**addNewCustomer()方法的实现:**添加客户信息。
//添加客户
private void addNewCustomer(){
System.out.println(“-----------------添加客户-----------------”);
System.out.print(“姓名:”);
//调用工具类中的方法判断输入
String name = CMUtility.readString(4);
System.out.print(“性别:”);
char gender = CMUtility.readChar();
System.out.print(“年龄:”);
int age = CMUtility.readInt();
System.out.print(“电话:”);
String phone = CMUtility.readString(11);
System.out.print(“邮箱:”);
String email = sc.next();
//创建客户对象
Customer c = new Customer();
c.setName(name);
c.setGender(gender);
c.setAge(age);
c.setPhone(phone);
c.setEmail(email);
//调用CustomerList中的方法,添加客户对象到数组
boolean b = clt.addCustomer©;
//判断添加的执行结果,并给出提示信息
if(b){
System.out.println(“-----------------添加完成-----------------”);
}else {
System.out.println(“添加失败!”);
}
System.out.println();
}
界面效果:
**modifyCustomer()方法的实现:**修改客户信息。
//修改客户
private void modifyCustomer(){
//判断客户信息是否为空
if(clt.getTotal()==0){
System.out.println(“当前无客户信息,请添加客户信息后再进行此操作!”);
System.out.println();
}else {
System.out.println(“-----------------修改客户-----------------”);
System.out.println(“请选择待修改客户编号(-1退出):”);
int index = sc.nextInt();
if(index==-1){
System.out.println(“已退出修改操作”);
System.out.println();
}else{
//将输入的值转化为索引值,执行减一操作
index–;
while (true){
if(index<clt.getTotal() && index>=0){
//格式化输出修改信息时的提示
System.out.print(String.format(“姓名(%s):”,clt.customers[index].getName()));
//调用工具类中的方法,用于限制姓名位数、按下回车默认返回给出的字符串
String xname = CMUtility.readString(4,clt.customers[index].getName());
System.out.print(String.format(“性别(%c):”,clt.customers[index].getGender()));
char xgender = CMUtility.readChar();
System.out.print(String.format(“年龄(%d):”,clt.customers[index].getAge()));
int xage = CMUtility.readInt();
System.out.print(String.format(“电话(%s):”,clt.customers[index].getPhone()));
String xphone = CMUtility.readString(11,clt.customers[index].getPhone());
System.out.print(String.format(“邮箱(%s):”,clt.customers[index].getEmail()));
String xemail = sc.next();
//创建修改后的客户对象
Customer c = new Customer();
c.setName(xname);
c.setGender(xgender);
c.setAge(xage);
c.setPhone(xphone);
c.setEmail(xemail);
//调用CustomerList中的方法,替换客户对象
boolean b = clt.replaceCustomer(index,c);
if(b){
System.out.println(“-----------------修改完成-----------------”);
}else {
System.out.println(“修改失败!”);
}
System.out.println();
break;
}else {
System.out.print(“输入的编号有误,请你从新输入:”);
int index1 = sc.nextInt();
//将输入的值减1,赋值后再进行判断
index = index1-1;
}
}
}
}
}
界面效果:
**deleteCustomer()方法的实现:**删除客户信息。
//删除客户
private void deleteCustomer(){
if(clt.getTotal()==0){
System.out.println(“当前无客户信息,请添加客户信息后再进行此操作!”);
System.out.println();
}else{
System.out.println(“-----------------删除客户-----------------”);
System.out.println(“请选择待删除客户编号(-1退出):”);
int index = sc.nextInt();
if(index==-1){
System.out.println(“已退出删除操作”);
System.out.println();
}else{
index–;
while (true){
if(index<clt.getTotal() && index>=0){
System.out.println(“确认是否删除(Y/N):”);
char c = CMUtility.readConfirmSelection();
if(c==‘Y’){
//调用CustomerList中的方法,删除客户对象并返回结果值
boolean b = clt.deleteCustomer(index);
if (b){
System.out.println(“-----------------删除完成-----------------”);
}else {
System.out.println(“删除失败!”);
}
}else {
System.out.println(“已取消删除”);
}
System.out.println();
break;
}else {
System.out.print(“输入的编号有误,请你从新输入:”);
int index1 = sc.nextInt();
index = index1-1;
}
}
}
}
}
界面效果:
**listAllCustomers()方法的实现:**显示客户列表。
//客户列表
private void listAllCustomers(){
if(clt.getTotal()==0){
System.out.println(“当前无客户信息,请添加客户信息后再进行此操作!”);
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
结局:总结+分享
看完美团、字节、腾讯这三家的一二三面试问题,是不是感觉问的特别多,可能咱们真的又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。
开篇有提及我可是足足背下了Java互联网工程师面试1000题,多少还是有点用的呢,换汤不换药,不管面试官怎么问你,抓住本质即可!能读到此处的都是真爱
- Java互联网工程师面试1000题
而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的 《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题。
- 程序员代码面试指南–IT名企算法与数据结构题目最优解
- 其余像设计模式,建议可以看看下面这4份PDF(已经整理)
- 更多的Java面试学习笔记如下,关于面试这一块,我额外细分出Java基础-中级-高级开发的面试+解析,以及调优笔记等等等。。。
以上所提及的全部Java面试学习的PDF及笔记,如若皆是你所需要的,那么都可发送给你!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
- 程序员代码面试指南–IT名企算法与数据结构题目最优解
[外链图片转存中…(img-6aiwZFMH-1713140557183)]
- 其余像设计模式,建议可以看看下面这4份PDF(已经整理)
[外链图片转存中…(img-qOdDmjnk-1713140557183)]
- 更多的Java面试学习笔记如下,关于面试这一块,我额外细分出Java基础-中级-高级开发的面试+解析,以及调优笔记等等等。。。
[外链图片转存中…(img-cgnld3Yh-1713140557184)]
以上所提及的全部Java面试学习的PDF及笔记,如若皆是你所需要的,那么都可发送给你!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!