项目 内容
班级博客链接 19级信计班(本)
作业链接 第七周作业
博客名称 1903021138—陈红—java第七周作业—客户测试类
要求 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果)

作业内容:

第一部分:

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

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

第二部分:

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

  • 第一部分的代码:
  • package edu.xj.ch.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;  //利用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的值,则返回之前的值,修改失败。
        
    }
    }
    	
    

      第二部分的代码:

  • package edu.xj.ch.week07;
    
    	import java.util.Scanner;
    	public class TestCustomer {
    		 public static void main(String[] args) {//使用main主函数进行调用
    		        // TODO Auto-generated method stub
    		        Scanner sc =new Scanner(System.in);//因为我们要使用它的成员方法和成员变量
    		        //做一个判断 每一次输入后询问是否还要继续
    		        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();//显示新的客户姓名列表
    		
    	}
    
    }
    

      运行的截屏:

  •