是这个错误Exception in thread "main" java.lang.Error: Unresolved compilation problem:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class javacode {
public static void main(String[] args) throws IOException {
ArrayList<Clerk> al = new ArrayList<Clerk>();
Clerk c1 = new Clerk("宋江", 50, 1000);
al.add(c1);//添加到尾部
Clerk c3 = new Clerk("吴用", 45, 2000);
al.add(c3);//添加到尾部
al.add(c3);//可以加相同的对象
System.out.println("al.lenght=" + al.size());
Clerk c2 = new Clerk("武松", 30, 10004.4f);
al.add(0, c2);//加到指定位置,原来的会往看推
al.remove(3);//删除相应的对象
//System.out.println(al.get(1).getName());
for(Clerk c : al){
//System.out.println(c.getName());
}
}
ClerkManage cm=new ClerkManage();
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
while(true){
System.out.println("——————欢迎使用职员管理系统————————");
System.out.println("请选择你要进行的操作:");
System.out.println("1.添加一个职员:");
System.out.println("2.查找一个职员:");
System.out.println("3.修改一个职员的工资:");
System.out.println("4.删除一个职员:");
System.out.println("5.退出!");
String operType=br.readLine();
if(operType.equals("1")){
System.out.println("请输入职员的编号:");
String no=br.readLine();
System.out.println("请输入职员的姓名:");
String name=br.readLine();
Clerk ck=new Clerk(no,name);
//添加职员
cm.addClerk(ck);
} else if(operType.equals("5")){
System.exit(0);
}
}//while
}
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;
}
//为4个私有属性提供公开的取值和赋值方法,也是就算get和set方法
public Clerk(String string, int i, float f) {
// TODO Auto-generated constructor stub
}
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;//声明了一个变量名为 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
for(Clerk clerkTmp : al) {
//判断传入的id 是否在集合里面找的到
if(id.equals(clerkTmp.getId())) {
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);
al.remove(i);
//跳出循环 break
break;
}
}
}
}
}
你还是处理下异常把 别总想着抛给虚拟机
第一个:用迭代器remove. list中的元素!
第二个:程序在等待控制台的输入