2 wshger wshger 于 2013.12.24 17:12 提问

请大神帮我看看这个java程序怎么运行不了,帮我调一调这个程序,谢谢

是这个错误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;
        }
    }
}

}
}

3个回答

a1336224635
a1336224635   2013.12.24 17:53

你还是处理下异常把 别总想着抛给虚拟机

wshger
wshger 应该怎么弄合适呢?
接近 4 年之前 回复
qq_21438599
qq_21438599   2016.03.18 07:13

第一个:用迭代器remove. list中的元素!

qq_21438599
qq_21438599   2016.03.18 07:29

第二个:程序在等待控制台的输入

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!