5) 利用迭代遍历(课本227页),对List 中所有的工人调用work 方法。 答:该题代码如下:
package zi;
import java.util.ArrayList; import java.util.Iterator; import java.util.List; classWorker { privateintage; private String name; privatedoublesalary; public Worker (){}
public Worker (String name, int age, double salary){ this.name = name; this.age = age; this.salary = salary; }
publicint getAge() { returnage; }
publicvoid setAge(int age) { this.age = age; }
public String getName() { returnname; }
publicvoid setName(String name) { this.name = name; }
publicdouble getSalary(){ returnsalary; }
publicvoid setSalary(double salary){ this.salary = salary; }
publicvoid work(){
System.out.println(name + \); }
@Override
public String toString() {
return\ + age + \ + name + \ + salary + \; } }
publicclass Ex7_3_5{
publicstaticvoid main(String args[]){ List
Worker w4=new Worker(\孙三\,28,4200); list.remove(3);
for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i));
Iterator
System.out.println(iterator.next()); } } }
}
其运行结果截图如下:
6) 为Worker 类添加equals 方法,判断是否两个记录是否同一个人,并测试。
答:该题代码如下:
package zi;
import java.util.ArrayList; import java.util.Iterator; import java.util.List; classWorker { privateintage; private String name; privatedoublesalary; public Worker (){}
public Worker (String name, int age, double salary){ this.name = name; this.age = age; this.salary = salary; }
publicint getAge() { returnage; }
publicvoid setAge(int age) { this.age = age; }
public String getName() { returnname; }
publicvoid setName(String name) { this.name = name; }
publicdouble getSalary(){ returnsalary; }
publicvoid setSalary(double salary){ this.salary = salary; }
publicvoid work(){
System.out.println(name + \); }
@Override
public String toString() {
return\ + age + \ + name + \ + salary + \; } }
publicclass Ex7_3_6{
publicstaticvoid main(String args[]){
List
list.add(w1); list.add(w2); list.add(w3);
Worker w4=new Worker(\陈四\,24,3300); list.add(1, w4); list.remove(3);
Iterator
Worker worker = (Worker) i.next(); worker.work(); } }
publicboolean equals(Worker w1) { ))
returntrue; returnfalse; }
publicboolean equals(Object obj) {
returnsuper.equals(obj); } }
if(w1 == null)returnfalse; elseif
(this.name==w1.getName()&&this.age==w1.getAge()&&this.salary==w1.getSalary(
其运行结果截图如下:
4.(Map)已知某学校的教学课程内容安排如下:
完成下列要求:
1)使用一个Map,以老师的名字作为键,以老师教授的课程名作为值,表示上述课程安排。
2)增加了一位新老师Allen 教JDBC 3) Lucy 改为教CoreJava
4)遍历Map,输出所有的老师及老师教授的课程 5)利用Map,输出所有教JSP 的老师。
答:依据题意,其代码如下:
package zi;
import java.util.*; publicclass Ex7_4 {
publicstaticvoid main(String[] args) { //1)
Map map = newHashMap(); map.put(\, \); map.put(\, \); map.put(\, \); map.put(\, \); map.put(\, \); map.put(\, \); map.put(\, \);
//2) 增加了一个Allen教JDBC map.put(\, \);
//3) Lucy改教CoreJava
map.put(\, \);
//遍历Map
Set set = map.keySet();