标题:这段代码执行结果为何为0
只看楼主
mahayu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:122
专家分:160
注 册:2007-8-3
 问题点数:0 回复次数:1 
这段代码执行结果为何为0
这是一个接口的源码,运行时遇到点奇怪的问题,如下代码,其中红色代码是啥意思,没见过这种写法,请教高手指点:
import java.util.*;

public class EmployeeSortTest {
  public static void main(String[] args) {
    Employee[] staff=new Employee[3];
    staff[0]=new Employee("man1",1000);
    staff[1]=new Employee("b",2000);
    staff[2]=new Employee("c",500);

    Arrays.sort(staff);

    for(Employee e:staff)  
  {
      System.out.println("姓名"+e.getName()+"  薪水="+e.getSalary());
    }
  }
}


class Employee
    implements Comparable {
  private String name;
  private double salary;
  public Employee(String n, double s) {
    String name = n;
    double salay = s;
  }

  public String getName() {
    return name;
  }

  public double getSalary() {
    return salary;
  }

  public void raiseSalary(double byPercent) {
    double raise = salary * byPercent / 100;
    salary += raise;
  }

  public int compareTo(Employee other) {
    if (salary < other.salary)
      return -1;
    if (salary > other.salary)
      return 1;
    return 0;
  }

  public int compareTo(Object o) {
    return 0;
  }
}

运行结果:
姓名null  薪水=0.0
姓名null  薪水=0.0
姓名null  薪水=0.0
搜索更多相关主题的帖子: Employee 薪水 staff 代码 
2008-02-06 11:15
谁与争疯
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:海南省
等 级:版主
威 望:188
帖 子:15070
专家分:17503
注 册:2007-4-22
得分:0 
for(Employee e:staff)

这也是for循环的一种,一般都是用在数组当中。相当于列遍数组把右边的数组值赋给左边的数组。直至未尾。
它节省了循环初值,条件等。

[[it] 本帖最后由 谁与争疯 于 2008-2-6 12:09 编辑 [/it]]

论坛是我家灌水靠大家
2008-02-06 12:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-199560-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.147624 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved