1903021104-褚晓娜-java第七周作业-TestCustomer
项目 | 内容 |
---|---|
课程班级博客链接 | 19级信计班(本) |
这个作业要求链接 | 第七周作业要求 |
博客名称 | 1903021104-褚晓娜-java第七周作业-TestCustomer |
要求 | 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果)。 |
第一部分:
创建客户业务类,实现客户姓名的添加和显示。
分析: (1)Customer类中需要两个方法,一个增加姓名addName,一个查询姓名showName。利用数组存储姓名。其中addName方法是有参的(需要传入姓名)。 (2)main函数调用addName方法和showName方法
第二部分:
修改用户姓名,输入新、旧姓名,进行修改并显示会否修改成功。
分析: (1)需要增加一个修改名字的方法,方法中需要传递两个参数,一个是旧名字,一个是新名字 (2)根据旧名字的值去已有列表中查找,如果找到了,进行替换,如果没找到,输出没找到。
代码
package edu.xj.ach.week07;
public class Customer {//创建一个Customer类
/**
*
* @author Administrator
* 实现客户姓名显示和增加
*/
String []names = new String[30];//定义了一个数组,数组长度为30
/**
* 这是增加用户名的方法
* @param name 输入的名字
*/
public void addName(String name){
for(int i=0;i<names.length;i++){//使用for循环来增加用户名字
if(names[i]==null){//如果当前值为空的话,将传过来的值赋值给它
names[i]=name;//将name的值赋值给name[i]
break;//结束循环
}
}
}
/**
* 这是显示姓名的方法
*/
public void showNames(){
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;//find赋值
for(int i=0;i<names.length;i++){//利用for循环遍历数组寻找到要修改的名字
if(names[i].equals(oldName)){//遍历数组,对oldName进行值得比较
names[i] = newName;//如果找到了要修改的名字,则将newName的值赋给它
find = true;//find的赋值为真
break;//结束循环
}
}
return find;//如果未找到要修改的名字,则返回之前的值
}
}
package edu.xj.ach.week07;
import java.util.Scanner;
public class TestCustomer {//使用main主函数进行调用
public static void main(String[] args) {
// 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 addedName = sc.next();//添加的客户名为键盘下一次输入的值 如张三 b==>addName b==>name
cus.addName(addedName);//调用addName的方法 其中这里的addName为实际参数
System.out.print("继续输入吗?(y/n)");//判断是否需要继续输入 ,y为需要继续输入,n为结束输入
String con = sc.next();//该字符为键盘下一次输入的值
if(con.equals("n")){//输入n则不需要继续添加客户姓名,结束条件
flag = false;//结束返回值
}
}
cus.showNames();//调用showNames方法
System.out.println("请输入要修改的用户姓名:");//输入要修改的客户名
String oldName = sc.next();//要修改的客户名为键盘接下来输入的值
System.out.println("请输入新的用户姓名:");//输入新的客户名
String newName = sc.next();//输入的客户名为键盘接下来输入的值
System.out.println("修改结果...");//输出修改结果
if(cus.editName(oldName, newName)){//使用if语句判断是否有oldName和newName,如果有则执行editName方法
System.out.println("找到并且成功修改!");//输出结果
}else{
System.out.println("并未找到要修改的用户!请检查输入!");//如果没有oldName和newName,则输出并未找到要修改的用户!请检查输入!
}
cus.showNames();//调用showNames,输出修改后的 客户列表
}
}
截图: