项目 内容
课程班级博客链接 19信计班(本)
作业要求链接 作业要求链接
博客名称 1903021121-刘明伟-java第七周作业-客户类测试
要求 每道题要有题目,代码,截图

第一部分:

  • 创建客户业务类,实现客户姓名的添加和显示。

  • 分析: (1)Customer类中需要两个方法,一个增加姓名addName,一个查询姓名showName。利用数组存储姓名。其中addName方法是有参的(需要传入姓名)。 (2)main函数调用addName方法和showName方法

代码:

package edu.lmw;

public class Customer {

	    String [ ]names =new String[30]; 		//定义一个数组

	    /*
增加姓名addName的方法
*/
//有参的方法,需要传入增加的姓名
public void addName(String name) {
for (int i=0;i<names.length;i++) {//使用for循环增加用户名字,进行数组遍历
if(names[i]==null) {//如果当前值为空,将传过来的参数赋值给它
names[i]=name; // 把name的值赋值给names[i]
break; //跳出for循环
}
}
} /*
查询显示姓名showName的方法
*/
public void showName() {//需要查询的用户的姓名,不需要返回值
System.out.println("****************");
System.out.println(" 客户姓名列表 "); //为了美观展示内容
System.out.println("****************");
for (int i=0;i<names.length;i++) { //使用for循环查询用户的姓名
if(names[i]!=null) { //如果当前位置不为空值,则输出内容
System.out.println(names[i]); //输出查询用户的姓名
}
}
System.out.println(); //输出结果
} /*
修改姓名editName的方法
*/
public boolean editName(String oldName,String newName){ //定义了一个布尔类型返回值
boolean find=false;//find赋值
for (int i=0;i<names.length;i++) { //使用for循环数组,根据长度进行数组遍历
if(names[i].equals(oldName)) { //从0下标开始比较,遍历数组,对oldName进行值的比较
names[i]=newName; //如果一样的话就把newName赋值给names[i]
find =true; //find的值赋值为真
break; //跳出循环 }
}
return find; //如果一直没有找到oldName的值,则返回之前的值,修改失败。 } }

第二部分:

  • 修改用户姓名,输入新、旧姓名,进行修改并显示会否修改成功。
  • 分析: (1)需要增加一个修改名字的方法,方法中需要传递两个参数,一个是旧名字,一个是新名字 (2)根据旧名字的值去已有列表中查找,如果找到了,进行替换,如果没找到,输出没找到。

 运行截图:

代码:

package edu.lmw;

import java.util.Scanner;

public class Test {

	    public static void main(String[] args) {//使用main主函数进行调用
// TODO Auto-generated method stub
Scanner sc =new Scanner(System.in); //创建Customer对象,因为我们要使用它的成员方法和成员变量
//做一个判断 每一次输入后询问是否还要继续
Customer cus=new Customer(); //创建Customer对象 boolean flag=true; //有返回值,当返回值为真时,进行while语句
while(flag){
System.out.println("请输入要添加的客户姓名:"); //请输入要添加的客户姓名
String addName=sc.next(); //比如张三 b==>addName b==>name
cus.addName(addName); //实际参数:实际存在的参数 在调用时需要传递的值
System.out.println("请问还要继续吗?(Y/N)");//判断循环是否继续
String con=sc.next();
if(con.equals("N")){//"N"表示不需要继续添加客户姓名,结束条件
flag=false; //结束返回值
}
}
cus.showName(); //显示用户的姓名 System.out.println("请输入要修改的用户姓名:"); //输出请输入要修改的用户姓名
String oldName=sc.next();//接受键盘输入的oldName,即需要修改的名字
System.out.println("请输入新的用户姓名:"); //输出请输入新的用户姓名
String newName=sc.next();//接受键盘输入的newName,修改之后的名字
System.out.println("修改结果......");//输出"修改结果......
if(cus.editName(oldName,newName)){ //使用if语句,调用之前oldName,newName的方法
System.out.println("找到并成功修改!");//输出找到并成功修改!
}
else{
System.out.println("并未找到要修改的用户,请检查输入!"); //输出并未找到要修改的用户,请检查输入!
}
cus.showName(); //显示新的客户姓名列表
} }

截图:

1903021121-刘明伟-java第七周作业-客户类测试的更多相关文章

  1. 1903021116—吉琛—Java第七周作业—客户类测试

    项目 内容 课程班级博客链接 19信计班 这个作业要求链接 第七周作业链接 博客名称 学号-姓名-Java第七周作业-客户类测试 要求 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决 ...

  2. 1903021121—刘明伟—Java第六周作业—java类

    项目   内容 课程班级博客链接  19信计班(本) 作业要求链接 第6周作业 扩展阅读 java面向对象的概念和定义 作业要求 每道题要有题目,代码,截图(只截运行结果). 题目1: 一个Phone ...

  3. 1903021121—刘明伟—Java第三周作业—学习在eclipse上创建并运行java程序

    项目 内容 课程班级博客链接 19信计班(本) 作业要求链接 第三周作业 作业要求 每道题要有题目,代码,截图 扩展阅读 eclipse如何创建java程序 java语言基础(上) 扩展阅读心得: 想 ...

  4. 1903021121—刘明伟—Java第四周作业—java分支语句学习

    项目 内容 课程班级博客链接 19信计班(本) 作业要求链接 第四周作业 要求 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果). 扩展阅 ...

  5. 1903021121-刘明伟-java十一周作业-java面向对象编程

    项目 内容 课程班级博客链接 19级信计班(本) 作业要求链接 第十一周作业 博客名称 1903021121-刘明伟-java十一周作业-java面向对象 要求 每道题要有题目,代码(使用插入代码,不 ...

  6. 2017-2018-1 我爱学Java 第六七周 作业

    团队六七周作业 完善版需求规格说明书 制定团队编码规范 数据库设计 后端架构设计 TODOList 参考资料 完善版需求规格说明书 <需求规格说明书>初稿不足之处: 1.开发工具写错 2. ...

  7. 20165210 Java第七周学习总结

    20165210 Java第七周学习总结 教材内容学习 第十一章学习总结 连接数据库: 1. 下载JDBC-MySQL数据库驱动 2. 加载JDBC-MySQL数据库驱动 3. 连接数据库 4. 注意 ...

  8. 2017-2018-1 JAVA实验站 第六、七周作业

    2017-2018-1 JAVA实验站 第六.七周作业 详情请见团队博客

  9. 2017-2018-1 JaWorld 第六、七周作业

    2017-2018-1 JaWorld 第六.七周作业 修改需求规格说明书 上次的<需求规格说明书>初稿有哪些不足? 王译潇同学回答:   1. 引言和目的性考虑的不是很周全.   2. ...

随机推荐

  1. Python - dict类型

  2. 基于融云的IM通讯

    一.业务场景 项目的发展需要吧原来自己的写的通讯换为第三方的,多家对比后选择了融云IM通讯,项目要实现的功能这要是单聊.群聊.聊天室.发送的内容为文字.图片.文件.语音通话与视频通话.听起来挺复杂的我 ...

  3. CentOS 7.9 网络配置

    vi /etc/sysconfig/network-scripts/ifcfg-ens33 (45条消息) CentOS 7.9 网络配置_$青的博客-CSDN博客_centos7.9网卡配置

  4. CentOS系统Tomcat 8.5或9部署SSL证书

    本文档介绍了CentOS系统下Tomcat 8.5或9部署SSL证书的操作说明. 环境准备 操作系统:CentOS 7.6 64位 Web服务器:Tomcat 8.5或9 前提条件 已从阿里云SSL证 ...

  5. Linux上部署net6应用

    前言 ​ .net6都出来了,作为一名.net搬砖工却一直都在windows下部署应用,还未尝试过linux环境下部署应用.参考福禄网络研发团队的相关博客,学习一下如何将应用部署到linux系统. . ...

  6. 分库分表实现方式Client和Proxy,性能和维护性该怎么选?

    大家好,我是[架构摆渡人],一只十年的程序猿.这是分库分表系列的第一篇文章,这个系列会给大家分享很多在实际工作中有用的经验,如果有收获,还请分享给更多的朋友. 其实这个系列有录过视频给大家学习,但很多 ...

  7. Ncrystal Skill设计

    在使用allegro时一般都会听说过skill,使用合适的Skill会使事情事半功倍.但是现阶段所能看到的个人白嫖的Skill都有一些通病.所以我才开发符合自己操作习惯的Skill. 当前我们所能找的 ...

  8. 「进阶篇」Vue Router 核心原理解析

    前言 此篇为进阶篇,希望读者有 Vue.js,Vue Router 的使用经验,并对 Vue.js 核心原理有简单了解: 不会大篇幅手撕源码,会贴最核心的源码,对应的官方仓库源码地址会放到超上,可以配 ...

  9. Node.js躬行记(17)——UmiJS版本升级

    在2020年我刚到公司的时候,公司使用的版本还是1.0,之后为了引入微前端,迫不得已被动升级. 一.从 1.0 到 2.0 在官方文档中,有专门一页讲如何升级的,这个用户体验非常好. 一个清单列的非常 ...

  10. PostgreSQL安装 报there has been an error.Error running

    直接用postgresql-11.2-1:https://get.enterprisedb.com/postgresql/postgresql-11.2-1-windows-x64.exe这个版本的安 ...