A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘侠光 黑马帝   /  2011-12-12 10:56  /  2540 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class EmployeeSortTest
{
public static void main(String[] args)
{
   Employee[] staff=new Employee[3];
   
   staff[0]=new Employee("Harry Hacker",35000);
   staff[1]=new Employee("Carl Crarker",75000);
   staff[2]=new Employee("Tony Tester",38000);
   
  Arrays.sort(staff);
   
  for(Employee e:staff)
    System.out.println("name"=+e.getName()+",salary="+e.getSalary());
}
}

class Employee implements Comparable<Employee>
{
public Employee(String n, double s )
{
  name=n;
  salary=s;
}
  
public String getName()
{
  return name;
}

public double getSalary()
{
  return salary();
}

public void raiseSalary(double byPercent)
{
  double raisa=salary*byPercent/100;
salary+=raisa;
}
public int compareTo(Employee other)
{
  if(salary<other.salary)return -1;
  if(salary>other.salary)return 1;
  return 0;
}
  
private String name;
private double saalary;
}

7 个回复

倒序浏览
public class EmployeeSortTest
{
public static void main(String[] args)
{
   Employee[] staff=new Employee[3];
   
   staff[0]=new Employee("Harry Hacker",35000);
   staff[1]=new Employee("Carl Crarker",75000);
   staff[2]=new Employee("Tony Tester",38000);
   
  Arrays.sort(staff);
   
  for(Employee e:staff)
    System.out.println("name"=+e.getName()+",salary="+e.getSalary());
}
}

class Employee implements Comparable<Employee>
{
public Employee(String n, double s )
{
  name=n;
salary=s;  
}
  
public String getName()
{
  return name;
}

public double getSalary()
{
  return salary();
}

public void raiseSalary(double byPercent)
{
  double raisa=salary*byPercent/100;
salary+=raisa;
}
public int compareTo(Employee other)
{
  if(salary<other.salary)return -1;
  if(salary>other.salary)return 1;
  return 0;
}
  
private String name;
private double saalary;
}

评分

参与人数 1技术分 +1 收起 理由
王德云 + 1

查看全部评分

回复 使用道具 举报
看到了,你这有三个错误,第一个是你的private double saalary;  这个变量多写了一个a;
  for(Employee e:staff)
    System.out.println("name"=+e.getName()+",salary="+e.getSalary());  // name 这里的= 号写在了外面应该是"name = "+e.getName()+",
public double getSalary()
{
  return salary();    //这里你写错了,salary 是属性,不是方法;  
}
这此错误都是书写错误啊,你应该自己解决的哦。



  
回复 使用道具 举报
本帖最后由 应国炎 于 2011-12-12 11:18 编辑

不知道你提示什么错误

1 你 System.out.println("name"=+e.getName()+",salary="+e.getSalary());里的=号要放括号里面去
2 private double saalary; saalary是不是写错了?
3 如果提示有符号: 变量 Arrays
位置: 类 Test
  Arrays.sort(xxx);  

类型的错误,则是没有导入相应的包



4 还有return salary; 是变量,不是方法  (刚才忘记写上了。重新编辑了一下)


评分

参与人数 1技术分 +1 收起 理由
王德云 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 benbenqi 于 2011-12-12 11:28 编辑

import java.util.*;//1如果用高级编辑器的话,会自动导入,如果记事本,EditPlus等工具需要手动输入public class EmployeeSortTest
{
        public static void main(String[] args)
        {
           Employee[] staff=new Employee[3];
          
           staff[0]=new Employee("Harry Hacker",35000);
           staff[1]=new Employee("Carl Crarker",75000);
           staff[2]=new Employee("Tony Tester",38000);
          
           Arrays.sort(staff);
          
          for(Employee e:staff)
                System.out.println("name="+e.getName()+",salary="+e.getSalary());//2  "name"=+
        }
}

class Employee implements Comparable<Employee>
{
        private String name;
        private double salary;//3定义了saalary,而下面却用了salary变量  不同名变量       
             public Employee(String n, double s )
        {
          name=n;
          salary=s;//3       
              }
  
        public String getName()
        {
          return name;
        }

        public double getSalary()
        {
          return salary; //4返回的是salary变量的值,salary()是函数       
               }

        public void raiseSalary(double byPercent)
        {
          double raisa=salary*byPercent/100;
        salary+=raisa;
        }
        public int compareTo(Employee other)
        {
          if(salary<other.salary)return -1;
          if(salary>other.salary)return 1;
          return 0;
        }
  

}

评分

参与人数 1技术分 +2 收起 理由
王德云 + 2

查看全部评分

回复 使用道具 举报
wsssx 2011-12-12 11:35:56
地板
提示: 作者被禁止或删除 内容自动屏蔽
回复 使用道具 举报
{:soso_e136:}
回复 使用道具 举报
李明 黑马帝 2011-12-12 15:03:25
8#
public class EmployeeSortTest
{
public static void main(String[] args)
{
   Employee[] staff=new Employee[3];
   
   staff[0]=new Employee("Harry Hacker",35000);
   staff[1]=new Employee("Carl Crarker",75000);
   staff[2]=new Employee("Tony Tester",38000);
   
   Arrays.sort(staff);
   
  for(Employee e:staff)
    System.out.println("name"=+e.getName()+",salary="+e.getSalary());//=号放在""里面
}
}

class Employee implements Comparable<Employee>
{
        double salary ;//要定义在前面。
public Employee(String n, double s )
{
  name=n;
  salary=s;
}
  
public String getName()
{
  return name;
}

public double getSalary()
{
  return salary(); //salary(),取值是不用()的。
}

public void raiseSalary(double byPercent)
{
  double raisa=salary*byPercent/100;
salary+=raisa;
}
public int compareTo(Employee other)
{
  if(salary<other.salary)return -1;
  if(salary>other.salary)return 1;
  return 0;
}
  
private String name;
private double saalary; //要定义在前面,否则会出错。
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马