1903021122—鲁安琴—java第七周作业—客户类测试
项目 | 内容 |
班级博客链接 | 19级信计班 |
作业要求链接 | 第七周作业 |
博客名称 | 学号—姓名—java第七周作业—客户测试类 |
要求 | 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果) |
作业内容:
第一部分:
-
创建客户业务类,实现客户姓名的添加和显示。
- 分析: (1)Customer类中需要两个方法,一个增加姓名addName,一个查询姓名showName。利用数组存储姓名。其中addName方法是有参的(需要传入姓名)。 (2)main函数调用addName方法和showName方法
第二部分:
- 修改用户姓名,输入新、旧姓名,进行修改并显示会否修改成功。
- 分析: (1)需要增加一个修改名字的方法,方法中需要传递两个参数,一个是旧名字,一个是新名字 (2)根据旧名字的值去已有列表中查找,如果找到了,进行替换,如果没找到,输出没找到。
运行截图:
第一部分:
-
创建客户业务类,实现客户姓名的添加和显示。
- 分析: (1)Customer类中需要两个方法,一个增加姓名addName,一个查询姓名showName。利用数组存储姓名。其中addName方法是有参的(需要传入姓名)。 (2)main函数调用addName方法和showName方法
- 代码:
package edu.laq.week07; 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; //跳出循环 } } } /** * 这是查询显示姓名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;//找到的值赋为false for (int i=0;i<names.length;i++) {//使用for循环数组,根据长度进行数组遍历 if(names[i].equals(oldName)) {//从0下标开始比较,遍历数组,与原来的oldName进行比较 names[i]=newName;//如果一样的话就把newName赋值给names[i] find =true;//找到判断的值为真 break;//跳出循环 } } return find;//如果没有找到oldName的值,则返回之前的值。 } }
第二部分:
- 修改用户姓名,输入新、旧姓名,进行修改并显示会否修改成功。
- 分析: (1)需要增加一个修改名字的方法,方法中需要传递两个参数,一个是旧名字,一个是新名字 (2)根据旧名字的值去已有列表中查找,如果找到了,进行替换,如果没找到,输出没找到。
- 代码:
public class TestCustomerEdit { public boolean editName(String oldName,String newName) { //创建带入两个参数的 editName()方法,且有布尔型返回值 boolean find = false; //定义布尔初值为false Object names; for(int i=0;i<names.length;i++) { //for循环遍历数组 if(names[i].equals(oldName)) { //判断数组里是否有旧的那个名字 names[i] = newName; //将新的名字覆盖旧的名字 find=true; //改变布尔赋值为true break; //跳出循环 } } return find; //返回布尔型 } } package edu.laq.week07; import java.util.Scanner; public class TestCustomer { public static void main(String[] args) {//使用main主函数进行调用 Scanner sc =new Scanner(System.in);//用Scanner从键盘上输入需要进去查询,修改的用户名 Customer cus=new Customer();//创建Customer对象 boolean flag=true;// 定义布尔类型的flag 并赋值为真 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")){// if语句来比较是否相等,"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();//显示新的客户姓名列表 } }
- 截图: