public class Clerk {
private String name;
private int salary;
public Clerk() {
public Clerk(String name, int salary) {
this.name = name;
this.salary = salary;
* @return name
public String getName() {
return name;
* @param name
public void setName(String name) {
this.name = name;
* @return salary
public int getSalary() {
return salary;
* @param salary
public void setSalary(int salary) {
this.salary = salary;
public String toString() {
return "Clerk{name = " + name + ", salary = " + salary + "}";
public static void main(String[] args) {
ArrayList<Clerk> list = new ArrayList<>();
Clerk c1 = new Clerk("张三", 3000);
Clerk c2 = new Clerk("李四", 3500);
Clerk c3 = new Clerk("王五", 4000);
Clerk c4 = new Clerk("赵六", 4500);
Clerk c5 = new Clerk("田七", 5000);
list.add(c1);
list.add(c2);
list.add(c3);
list.add(c4);
list.add(c5);
seachByName(list, "王五");
printList(list);
System.out.println();
deleteByName(list, "赵六");
printList(list);
System.out.println();
addSalary(list, "田七");
printList(list);
public static boolean seachByName(ArrayList<Clerk> list, String name) {
for (int i = 0; i < list.size(); i++) {
Clerk c = list.get(i);
String n = c.getName();
if (n.equals(name)) {
c.setName("王小五");
return true;
return false;
public static void printList (ArrayList<Clerk> list) {
for (int i = 0; i < list.size(); i++) {
Clerk c = list.get(i);
String name = c.getName();
int salary = c.getSalary();
System.out.println("姓名:" + name + ", 工资:" + salary);
public static void deleteByName(ArrayList<Clerk> list, String name) {
for (int i = 0; i < list.size(); i++) {
Clerk c = list.get(i);
String n = c.getName();
if (n.equals(name)) {
list.remove(i);
public static void addSalary(ArrayList<Clerk> list, String name) {
for (int i = 0; i < list.size(); i++) {
Clerk c = list.get(i);
String n = c.getName();
if (n.equals(name)) {
c.setSalary(c.getSalary() + 500);
题目4(综合)
利用面向对象的思想设计一个图书管理系统。图书的属性有:编号,书名,作者,价格。要求提供如下功能:
1、提供操作菜单,可以选择要进行的操作。
2、可以添加图书,添加图书时,编号需要唯一,添加成功,返回到菜单。
3、可以查询图书,显示所有图书信息,然后返回到菜单。
4、可以根据书名,查询单本图书信息,显示信息后,返回到菜单。
5、可以删除图书,通过编号删除,删除成功后,返回到菜单。
6、可以修改图书的信息,但编号不可以修改,修改成功后,返回到菜单。
7、可以退出系统,结束程序运行。
1、所有图书信息由键盘录入
2、图书的价格可以定义为字符串类型,因为在键盘录入时,不可以先使用nextInt()方法获取整数然后再使用next()方法获取字符串,这样会导致next()方法获取不到数据。
ArrayList集合API的综合运用、编程逻辑的锻炼
1、首先需要创建一个图书类,封装图书信息。
2、提供操作菜单,可以通过键盘录入不同的数字来表示不同的操作,选择结构语句可以实现该需求。
3、管理图书,需要将图书存放起来,首先需要创建集合容器。
4、添加图书,即将图书存入集合中,但存入之前需要判定编号的唯一性,如果编号存在,需要重新录入。
5、查询所有图书,即为遍历集合显示信息。
6、查询单本图书,需要录入图书名称,遍历集合进行查询。
7、修改图书信息,需要根据编号先找到该图书,修改其除了编号之外的信息,存入集合覆盖原来的信息。
8、删除图书信息,需要根据编号先找到该图书,根据索引直接删除即可。
9、退出系统功能,借助结束程序的API实现即可。
1、创建Book类,属性String类型的id,name,author,price。提供构造方法、get和set方法。
2、创建测试类Test04,在main方法中,创建键盘录入对象,创建ArrayList集合对象用于存储图书。
3、使用输出语句定义一个操作菜单,包含添加、查看全部、查看单个、修改、查询、退出功能,使用switch语句对键盘录入的菜单项进行判断。
4、定义方法实现判断id是否已经存在。方法返回值boolean类型,参数列表为集合ArrayList和要查找的id字符串。遍历集合,判断id是否与集合中的Book对象的id相同,如果有相同,返回true,否则返回false
5、定义方法实现添加功能。方法返回值void,参数列表为集合ArrayList。在方法中,先使用键盘录入获取用户录入的id信息,调用方法判断id是否存在,如果存在,重新录入,如果不存在,再依次获取图书的其他信息,创建图书对象,并将图书对象存入集合中,输出添加成功的提示。
6、定义方法实现查看所有图书。方法返回值void,参数列表为集合ArrayList。如果集合长度为0,给出提示,结束方法,否则遍历集合,获取每个图书对象,再调用对象的get方法,获取所有信息展示即可。
7、定义方式实现根据名称查看一本图书。方法返回值void,参数列表为集合ArrayList。键盘录入图书的名称,遍历集合,获取每个图书的名称信息进行比较,如果相同,输出该图书信息,结束方法。否则输出不存在该图书。
8、定义方法实现根据编号修改图书信息。方法返回值void,参数列表为集合ArrayList。键盘录入图书编号,查询该编号是否存在,如果存在,再依次录入图书的修改后信息,创建新的图书对象,存入集合,将原对象覆盖,给出成功的提示,否则提示该编号图书不存在。
9、定义方法实现根据编号删除图书信息。方法返回值void,参数列表为集合ArrayList。键盘录入图书编号,查询该编号是否存在,如果存在,根据索引删除该对象,返回成功的提示,否则提示该编号的图书不存在。
10、退出系统的功能直接调用System的exit方法实现即可。
https: