数字 比较大小是这样 A - B = ? 如果 <0 表示 A < B , 0 表示 A == B , >0 表示 A> BJava Comparator 也类似, -1 表示 A< B , 0 表示 A == B, 1 表示 A> B。
还是帮楼主写一个吧.这么久都没结贴,所以就来凑热闹import java.util.*; import java.io.*; class Person { private String name; private int age; public Person(String name ,int age) { this.name = name; this.age = age; }
public Person() { name = null; age = 0; }
public String getName() { return name; } public int getAge() { return age; }
public void setName(String name) { this.name = name; }
public void setAge(int age) { this.age = age; } public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Vector v = new Vector(); String line = "Start"; String name = null; int age = 0;
// 输入 while(!line.equalsIgnoreCase("exit")) { try{ System.out.print("请输入员工名:"); line = br.readLine(); if (line.equalsIgnoreCase("exit")) break; name = line; System.out.print("该员工年龄:"); line = br.readLine();
try { age = Integer.parseInt(line); }catch (NumberFormatException e) { age = 0; } Person person = new Person(name,age); v.addElement(person); }catch (IOException e) { e.printStackTrace(); } }
Object[] obj = v.toArray(); // 排序 Arrays.sort(obj, new Comparator() {
public int compare(Object o1, Object o2) { Person stu1 = (Person)o1; Person stu2 = (Person)o2;
{
return p1.age > p2.age ? 1 : (p1.age == p2.age ? 0 : -1);
}
A - B = ? 如果 <0 表示 A < B , 0 表示 A == B , >0 表示 A> BJava Comparator 也类似, -1 表示 A< B , 0 表示 A == B, 1 表示 A> B。
import java.io.*;
class Person
{
private String name;
private int age; public Person(String name ,int age)
{
this.name = name;
this.age = age;
}
public Person()
{
name = null;
age = 0;
}
public String getName()
{
return name;
} public int getAge()
{
return age;
}
public void setName(String name)
{
this.name = name;
}
public void setAge(int age)
{
this.age = age;
}
public static void main(String[] args)
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Vector v = new Vector();
String line = "Start";
String name = null;
int age = 0;
// 输入
while(!line.equalsIgnoreCase("exit"))
{
try{
System.out.print("请输入员工名:");
line = br.readLine();
if (line.equalsIgnoreCase("exit"))
break;
name = line;
System.out.print("该员工年龄:");
line = br.readLine();
try {
age = Integer.parseInt(line);
}catch (NumberFormatException e)
{
age = 0;
}
Person person = new Person(name,age);
v.addElement(person);
}catch (IOException e)
{
e.printStackTrace();
}
}
Object[] obj = v.toArray();
// 排序
Arrays.sort(obj, new Comparator() {
public int compare(Object o1, Object o2)
{
Person stu1 = (Person)o1;
Person stu2 = (Person)o2;
// 若要从小到大排序,更改为:
// return (int)(stu2.getAge() - stu1.getAge());
return (int)(stu1.getAge() - stu2.getAge());
}
public boolean equals(Object obj) { return true ;}
});
// 输出
for (int i = 0; i < obj.length; i ++)
{
Person stu = (Person)obj[i];
System.out.println("员工:" + stu.getName() + " 年龄:" + stu.getAge());
}
}
}F:\>java Person
请输入员工名:Yzl
该员工年龄:23
请输入员工名:Hel
该员工年龄:53
请输入员工名:Hla
该员工年龄:42
请输入员工名:LAD
该员工年龄:12
请输入员工名:exit
员工:Hel 年龄:53
员工:Hla 年龄:42
员工:Yzl 年龄:23
员工:LAD 年龄:12