1  import java.util.*;
     2  public class ArrayListTest
     3  {
     4   public static void main(String[] args)
     5    {
     6     ArrayList<Employee> staff = new ArrayList<Employee>();
     7
     8          staff.add(new Employee("ZhaoRong",8500,1975,9,6));
     9          staff.add(new Employee("Chenzq",9800,1978,6,3));
     1  import java.util.*;
     2  public class ArrayListTest
     3  {
     4   public static void main(String[] args)
     5    {
     6     ArrayList<Employee> staff = new ArrayList<Employee>();
     7
     8          staff.add(new Employee("ZhaoRong",8500,1975,9,6));
     9          staff.add(new Employee("Chenzq",9800,1978,6,3));
    10          staff.add(new Employee("Liucy",8800,1982,7,9));
    11
    12     for(Employee e : staff)
    13          e.raiseSalary(s);
    14     for(Employee e : staff)
    15          System.out.println("name"+e.getName()+",salary="+e.getSalary+",hireDay="+e.getHireDay());
    16    }
    17   }
    18  class Employee
    19  {
    20   public Employee(String n, double s, int year, int month,int day)
    21    {
    22          name =n;
    23          salary =s;
    24          GregorianCalender calender = new GregorianCalender(year,month-1,day);
    25          hireDay =calender.getTime();
    26    }
    27
    28  public string getName()
    29  {
    30   return name;
    31  }
    32
    33  public double getSalary()
    34  {
    35   return salary;
    36  }
    37  public Date getHireDay()
    38  {
    39   return hireDay;
    40  }
    41
    42  publlic void raiseSalary(double byPercent)
    43  {
    44    double raise=salary*percent/100;
    45    salary+=raise;
    46  }
    47  private String name;
    48  private double salary;
    49  private Date hireDay;
    50  }

解决方案 »

  1.   

    这是报的错误:
    javac ArrayListTest.java
    ArrayListTest.java:6: '(' or '[' expected
       ArrayList<Employee> staff = new ArrayList<Employee>();
                                                ^
    ArrayListTest.java:12: ';' expected
       for(Employee e : staff)
                      ^
    ArrayListTest.java:14: illegal start of expression
       for(Employee e : staff)
       ^
    ArrayListTest.java:16: illegal start of expression
      }
      ^
    ArrayListTest.java:42: <identifier> expected
    publlic void raiseSalary(double byPercent)
            ^
    5 errors
      

  2.   

    13:s从哪里冒出来的?
    15:e.getSalary连括号都没有?
    42:public都写错了?
    44:percent变量哪里来的?byPercent吧?还有一些什么乱七八糟的字符在里面,你用什么编辑器写的啊?有个单词把它重写一编后就可以编译通过。下次贴代码不要连行号也贴出来,这样想帮你看看都懒得去动了。改正如下:
    ---------------
    package fun;import java.util.*;public class ArrayListTest {
    public static void main(String[] args)
    {
    ArrayList<String> a = new ArrayList<String>();
    ArrayList<Employee> staff = new ArrayList<Employee>();

    staff.add(new Employee("ZhaoRong",8500,1975,9,6));
    staff.add(new Employee("Chenzq",9800,1978,6,3));
    staff.add(new Employee("Liucy",8800,1982,7,9));

    for(Employee e : staff)
    e.raiseSalary(1.2);
    for(Employee e : staff)
    System.out.println("name"+e.getName()+",salary="+e.getSalary()+",hireDay="+e.getHireDay());
    }
    }class Employee {
    public Employee(String n, double s, int year, int month, int day) {
    name = n;
    salary = s;
    GregorianCalendar calender = new GregorianCalendar(year, month - 1, day);
    hireDay = calender.getTime();
    } public String getName() {
    return name;
    } public double getSalary() {
    return salary;
    } public Date getHireDay() {
    return hireDay;
    } public void raiseSalary(double byPercent) {
    double raise = salary * byPercent / 100;
    salary += raise;
    } private String name; private double salary; private Date hireDay;
    }