2 wshger wshger 于 2013.12.20 12:07 提问

求解这段代码是什么意思,表示看不懂,求大神讲解,不知道其中是怎么实现增删改查的

class Clerk {
private String id;
private String name;
private String duty;
private double salary;

public Clerk(String id, String name) {
    this.id = id;
    this.name = name;
}

public void addClerk() {
    // TODO Auto-generated method stub

}

public String getId() {
    return id;
}
public void setId(String id) {
    this.id = id;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getDuty() {
    return duty;
}
public void setDuty(String duty) {
    this.duty = duty;
}
public double getSalary() {
    return salary;
}
public void setSalary(double salary) {
    this.salary = salary;
}

}
class ClerkManage {
ArrayListal = null;

public ClerkManage() {
    ArrayList<Clerk> al = new ArrayList<Clerk>();  
}

public void addClerk(Clerk clerk){
    al.add(clerk);
}

// if not found return null
public Clerk searchClerk(String id){
    Clerk clerk = null;
    for(Clerk clerkTmp : al) {
        if(id.equals(clerkTmp.getId())) {
            clerk = clerkTmp;
            break;
        }
    }
    return clerk;
}

public void setSalaryOfClerk(String id, double salary){
    Clerk clerk = searchClerk(id);
    if(clerk != null) {
        clerk.setSalary(salary);
    } else {
        System.out.println("找不到员工编号:" + id);
    }
}

public void deleteClerk(String id){
    for(int i = 0, size = al.size(); i < size; i++) {
        if(id.equals(al.get(i).getId())) {
            al.remove(i);
            break;
        }
    }
}

}

2个回答

xinghaiwang197
xinghaiwang197   2013.12.20 14:01

class Clerk是结点
class ClerkManage是链表。
public void addClerk(Clerk clerk){
al.add(clerk);
}是增加一个成员的信息
public void deleteClerk(String id){是删除一个成员
public Clerk searchClerk(String id){是按ID搜索成员

wshger
wshger 谢谢
4 年多之前 回复
u013208438
u013208438   2013.12.20 14:03

class Clerk {
//定义4个私有的属性
private String id;
private String name;
private String duty;
private double salary;

/**

  • 带参数的构造方法 */ public Clerk(String id, String name) { this.id = id; this.name = name; } //定义了一个返回为void的方法 public void addClerk() { // TODO Auto-generated method stub

}

//为4个私有属性提供公开的取值和赋值方法,也是就算get和set方法
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDuty() {
return duty;
}
public void setDuty(String duty) {
this.duty = duty;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}


class ClerkManage {
ArrayList al = null;//声明了一个变量名为 al 且为空的ArrayList集合

//无参构造方法
public ClerkManage() {
//实例化一个ArrayList
ArrayList al = new ArrayList();

}
/**

  • 添加方法,把传入的Clerk添加到集合中 */ public void addClerk(Clerk clerk){ al.add(clerk); }

// if not found return null
/**
根据传入的id在ArrayList中查找Clerk
*/
public Clerk searchClerk(String id){
Clerk clerk = null;//用来装找到的Clerk
//循环遍历al
for(Clerk clerkTmp : al) {
//判断传入的id 是否在集合里面找的到
if(id.equals(clerkTmp.getId())) {
//把找的的Clerk 赋值给前面用来装的clerk
clerk = clerkTmp;
//跳出循环
break;
}
}
//返回结果
return clerk;
}
/
*
给员工设置工资的方法
*id 员工id
*salary 要设置的工资多少
*/
public void setSalaryOfClerk(String id, double salary){
//查找员工根据id 并返回一个类
Clerk clerk = searchClerk(id);
//判断是否有该员工
if(clerk != null) {
//如果有 设置工资
clerk.setSalary(salary);
} else {
//没找到 提示用户
System.out.println("找不到员工编号:" + id);
}
}
/
*

  • *删除员工 根据id */ public void deleteClerk(String id){ //循环遍历al for(int i = 0, size = al.size(); i < size; i++) { //判断是有存在该id if(id.equals(al.get(i).getId())) { //如果存在该 删除该员工 al.remove(i); //跳出循环 break; } } } }
u010994927
u010994927 楼上注释很到位
4 年多之前 回复
wshger
wshger thank you万分感谢!
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
CPLEX 求解过程详解,注释
/* --------------------------------------------------------------------------  * File: mipex1.c  * Version 12.4  * --------------------------------------------------------------------------  * Lic
这段代码是什么意思
@Controller @RequestMapping("/question") public class QuestionController {     @Resource     private RedisUtil redisutil;          @ResponseBody     @RequestMapping(value="/list",method=Request
二次剩余方程求解
题目描述:给定方程x2=a(modp),p为素数,求在区间(0,p)的解。 首先,需要判断是否有解,方程有解充要条件为a(p-1)/2=1(modp)。 充分性: 设一原根g,存在唯一的k,使得g^k=a(modp);a(p-1)/2=g^((p-1)*k/2)=(g^((p-1)/2))^k=(-1)^k(modp)=1,因此k为偶数。 所以g^(k/2)是方程的根,得证。 必
八皇后问题(python版理解)
一、 前言 八皇后问题是一个经典的数学问题,同时也是一个典型的回溯问题,《Python基础教程》简单的思路是:首先尝试在第1行放置第1个皇后,然后在第2行某个位置放置皇后,依次进行,当发现某行的所有位置都不能防止皇后时,回溯至上一行,试着将上一行皇后放置在其他位置,再考虑下一行皇后的位置。 二、规则描述       首先由元组表示皇后的位置,如state[0] = 2,则表示第1行的
大神,求解,这段代码怎么修改。。
-
数据结构----关键路径详解
前言 Live beautifully, dream passionately, love completely. Name:Willam Time:2017/3/71、AOE-网介绍我们在学习拓扑排序(如果没学,可以看看这篇博客:拓扑排序详解)的时候,已经接触了什么是AOV-网,AOV-网是优先考虑顶点的思路,而我们也同样可以优先考虑边,这个就是AOE-网的思路。若在带权的有向无环图中,以顶
标题:利用动态规划求解最优二叉树
摘要:二叉查找书所要查找的目标出现的频率可能不一样,因此它们在二叉查找树上的位置不同,查找的代价也不同.(1)基本思路:[1]因为二叉查找树的左儿子一定要小于右儿子,这里用单词作为元素.首先按照首字母的顺序排序,当首字母相同时,按照字符串的长度排序。[2]假设对于单词wLeft……wRight进行构建二叉查找树,设F[Left][Right]以该单词集合中某个单词为根的最小查找代价.则可以写出递归关
从今天看算法导论实现里面的一些伪代码
插入排序: #include "stdafx.h" #include #include #include #include #include using namespace std;   int _tmain(int argc, _TCHAR* argv[]) {     //插入排序按升序排的     const int ArrayS
用二叉树求解代数表达式
问题描述: 用二叉树来表示代数表达式,树的每一个分支节点代表一个运算符,每一个叶子节点代表一个运算数(为简化,只支持二目运算的+、-、*、/,不加括号, 运算数也只是一位的数字字符。本项目只考虑输入合乎以上规则的情况)。请设计算法, (1)根据形如“1+2?3?4/5”的字符串代表的表达式,构造出对应的二叉树(如图), 用后序遍历的思路计算表达式的值时,能体现出
数据结构实践——用二叉树求解代数表达式
本文是针对数据结构基础系列(6):树和二叉树的配套实践。【项目 - 用二叉树求解代数表达式】   用二叉树来表示代数表达式,树的每一个分支节点代表一个运算符,每一个叶子节点代表一个运算数(为简化,只支持二目运算的+、-、*、/,不加括号,运算数也只是一位的数字字符。本项目只考虑输入合乎以上规则的情况)。请设计算法,(1)根据形如“1+2∗3−4/51+2*3-4/5”的字符串代表的表达式,构造出对