中易网

求能人解答使用JAVA的类和对象,循环输入客户姓名,然后修改客户姓名并显示,

答案:1  悬赏:70  
解决时间 2021-03-06 09:34
求能人解答使用JAVA的类和对象,循环输入客户姓名,然后修改客户姓名并显示,
最佳答案
我觉得题主是事先定义了一个固定长度的数组,但是向数组里添加对象的数量却小于数组的长度,所以在按index进行比较时会出现NullPointerException。我建议题主改用一个HashSet,这样名单的长度就是灵活的了。另外showName方法我不知道题主为何不直接调用this.name而需要另提供一个参数name,因此我也稍作了改动。我修改的版本如下:
import java.util.HashSet;
import java.util.Scanner;

public class CustomerBiz2 {
HashSet name = new HashSet(); // 输入客户姓名的数组长度

public HashSet addName() {

Scanner scan = new Scanner(System.in);
boolean condition; // 是否继续输入的布尔类型
int i = 0;
do {
System.out.print("请输入客户的姓名:");
this.name.add(scan.next());
System.out.print("继续输入吗?(y/n):");
String choose = scan.next(); // 输入是否继续
if ("y".equals(choose)) {
condition = true;
} else {
condition = false;
}
i++;
} while (condition);
return this.name;
}

// 显示输入的客户姓名
public void showName() {
System.out.println("
客户姓名列表");
for (String names : this.name) {
System.out.print(names + " ");
}
}

// 修改用户名
public void updateName() {
Scanner scan = new Scanner(System.in);
System.out.print("
请输入要修改的客户姓名:");
String oldName = scan.next();
boolean found = false;

for (String names : this.name) {
if (names.equals(oldName)) {
System.out.print("
请输入新的客户名:");
String newName = scan.next();
this.name.remove(oldName);
this.name.add(newName);
found = true;
System.out.println("
找到结果并修改成功!");
break;
}
}
if (!found)
System.out.println("未找到结果,修改失败");

}

public static void main(String[] args) {
CustomerBiz2 test = new CustomerBiz2();
test.addName();
test.showName();
test.updateName();
test.showName();
}
}运行main方法的例子:
修改成功:
请输入客户的姓名:a
继续输入吗?(y/n):y
请输入客户的姓名:b
继续输入吗?(y/n):y
请输入客户的姓名:c
继续输入吗?(y/n):n

客户姓名列表
abc
请输入要修改的客户姓名:a

请输入新的客户名:asd

找到结果并修改成功!

客户姓名列表
bcasd修改失败:

请输入客户的姓名:a
继续输入吗?(y/n):y
请输入客户的姓名:b
继续输入吗?(y/n):y
请输入客户的姓名:c
继续输入吗?(y/n):n

客户姓名列表
abc
请输入要修改的客户姓名:d
未找到结果,修改失败

客户姓名列表
abc
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
宜州托运宠物狗到定远多少钱
冬季冰箱中豆角放6天后有点粘,出现水浸的斑点
现在成都地铁一号线终点站是哪个站 急
东祥街/光南路(路口)怎么去啊,有知道地址的
七雄争霸将魂属性有哪些将魂怎么用
小麦什么时候被人类发现,种植
有一部动漫讲的是什么男主和一群人手上可以变
东风本田思域后制动片怎么换
西安利君制药福利怎么样? 待遇各方面 ?将来
明州仙茗望海茶公司专卖店怎么去啊,有知道地
离婚男方把孩子寄养 女方用给抚养费么 如果他
席慕容写一首诗,是什么什么天这样蓝,草这样
自己生产的产品可以在网上上卖吗
美国的雷达:AN/FPQ-x或者AN/FPS-x中
绿植上的疥蚵虫怎样去掉
推荐资讯
新劳动法有没有规定员工做错事主管可以罚款?
《剑侠》的BOSS都叫什么名字?
海贼王路飞的个人详细信息?
科幻片,宇宙战争片,战舰打仗片,要求免费能
给奶奶送阳光文章已用竖线分成三段概括第23段
求神武网游辅助,自动师门类型的
怎么样利用Dos ping 攻击别人的电脑?
这个日本烟谁知道叫什么 hi-lite
从上海到威海的挂号信得几天啊?
缠中说禅,什么叫中阴走势?中阴段?有何意义
苹果手机3G开关在哪
金立m5左上角无法显示运营商
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?