1903021131—杨丽梅—Java第七周作业—客户类测试

项目 内容
课程班级博客链接 19信计班
这个作业要求链接

第七周作业链接

博客名称 1903021131—杨丽梅—Java第七周作业—客户类测试
要求 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果)。

第一部分:

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

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

第二部分:

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

运行截图:

代码如下:

package edu.xj.ylm.week07;
	/**
	 * 
	 * @author 
	 *实现客户姓名的显示与增加
	 */
public class Customer {//创建一个Customer类
	String []names = new String[30];//创建一个长度为30的数组
	/**
	 * 增加姓名
	 * @param name输入的名字
	 */
	public void addName(String name){ //创建一个带有参数addName()的方法
		for(int i=0;i<names.length;i++){ //用for循环根据长度遍历数组
			if(names[i]==null){//判断该数组是否为空
				names[i]=name;//将name赋给name[i]
				break; //跳出循环
				} 
			}
	
     }
	/**
	 * 显示姓名
	 */
	public void showNames(){ //创建一个无参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.print(names[i]+" "); //输出客户姓名表
				} 
			}
		System.out.println();//输出数组
		} 
	/**
	 * 这是修改姓名的方法
	 * @param oldName
	 * @param newName
	 * @return
	 */
	public boolean editName(String oldName,String newName){//这是一个修改姓名的方法(有参) 定义了一个布尔类型返回值
	    boolean find=false;//将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;//将true赋值find
	            break;//跳出循环
	            
	        }
	    }
	    return find;//如果未找到修改的名字,则返回之前的值
	}
	    }
	    

调试类代码:

package edu.xj.ylm.week07;

import java.util.Scanner;
public class TestCustomer {//创建一个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.print("请输入要添加的客户姓名:");//请输入要添加的客户姓名
			String addName = sc.next();//接收键盘输入的姓名,传入addName()方法中的name
			cus.addName(addName);////调用addNme()方法
			System.out.print("继续输入吗?(y/n)"); //输入(y/n)
			String con = sc.next(); 
			if(con.equals("n")){
				flag = false; //当输入n将false赋值给flag
				} 
			}
		cus.showNames();
		System.out.println("请输入要修改的用户姓名:");//输入要修改的客户姓名
		String oldName = sc.next();//接收键盘输入的姓名,传入oldName()方法中的name
		System.out.println("请输入新的用户姓名:");//输入新的用户名
		String newName = sc.next();//接收键盘输入的姓名,传入newName()方法中的name
		System.out.println("修改结果...");//输出修改结果
		if(cus.editName(oldName, newName)){//判断是否可以调用deitName()方法
			System.out.println("找到并且成功修改!");//输出找到了,并修改成功!
			
		}else{
			System.out.println("并未找到要修改的用户!请检查输入!");//输出并未找到要修改的用户,请检查输入!
		}
		cus.showNames();//输出新的客户表
}
   }

运行结果截图:

posted @ 2022-04-15 23:06  冰美式。  阅读(34)  评论(0编辑  收藏  举报