创建Employee类,在类中定义三个属性:编号,姓名,年龄,然后在构造方法里初始化这三个属性,最后载实现接口中的定义的CompareTo方法,将对象按编号升序排列。根据已有的代码,补全程序。
2017-04-19 20:59
1356 查看
创建Employee类,在类中定义三个属性:编号,姓名,年龄,然后在构造方法里初始化这三个属性,最后载实现接口中的定义的CompareTo方法,将对象按编号升序排列。根据已有的代码,补全程序。
输入输出说明:
import java.awt.List;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.Scanner;
//write here
class Employee implements Comparable{
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
Employee(){
}
Employee(int id,String name,int age){
this.id = id;
this.name = name;
this.age = age;
}
@Override
public int compareTo(Object e) {
// TODO Auto-generated method stub
Employee o = (Employee)e;
if(id>o.id)
return 1;
else
if(id<o.id)
return -1;
return 0;
}
}
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
ArrayList list = new ArrayList();
for(int i=0;i<3;i++){
int id = scan.nextInt();
String str = scan.next();
int age = scan.nextInt();
list.add(new Employee(id, str, age));
}
Collections.sort(list);
System.out.print("[");
Iterator it = list.iterator();
while(it.hasNext()){
Employee e = (Employee) it.next();
System.out.print("Id = "+e.getId()+",Name = "+e.getName()+",Age = "+e.getAge()+",");
if(it.hasNext())
System.out.print(", ");
}
System.out.println("]");
//write here
}
}
//[Id = 3,Name = baik,Age = 23,, Id = 4,Name = guag,Age = 18,, Id = 5,Name = maji,Age = 22,]
输入输出说明:
输入: 3 owen 20 1 dhan 22 2 yues 21 输出: [Id = 1,Name = dhan,Age = 22,, Id = 2,Name = yues,Age = 21,, Id = 3,Name = owen,Age = 20,](在一行显示完)
import java.awt.List;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.Scanner;
//write here
class Employee implements Comparable{
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
Employee(){
}
Employee(int id,String name,int age){
this.id = id;
this.name = name;
this.age = age;
}
@Override
public int compareTo(Object e) {
// TODO Auto-generated method stub
Employee o = (Employee)e;
if(id>o.id)
return 1;
else
if(id<o.id)
return -1;
return 0;
}
}
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
ArrayList list = new ArrayList();
for(int i=0;i<3;i++){
int id = scan.nextInt();
String str = scan.next();
int age = scan.nextInt();
list.add(new Employee(id, str, age));
}
Collections.sort(list);
System.out.print("[");
Iterator it = list.iterator();
while(it.hasNext()){
Employee e = (Employee) it.next();
System.out.print("Id = "+e.getId()+",Name = "+e.getName()+",Age = "+e.getAge()+",");
if(it.hasNext())
System.out.print(", ");
}
System.out.println("]");
//write here
}
}
//[Id = 3,Name = baik,Age = 23,, Id = 4,Name = guag,Age = 18,, Id = 5,Name = maji,Age = 22,]
相关文章推荐
- 定义员工类employee ,员工有姓名,年龄,工号属性, 员工有工作的方法, 键盘录入三组数据, 数据格式(姓名,年龄,工号) 例如:张三,23,9527; 通过数据,创建员工对象, 然后通过对
- 创建一个教师类(Teacher)属性有 姓名(name) 年龄(age) 性别(sex) 教师编号(tno) 2.提供本类的无参和全参构造方法 3.编写教师上课的办法teach() 编写静态方
- 【OC复合题】之定义一个学生类,需要有姓名,年龄,考试成绩三个成员属性,创建5个对象,属性可以任意值。(Objective-C)
- 编写一个程序,定义一个职工类,输入3个职工的编号、姓名、工资和年龄, 类中的成员函数实现输入、输出,在主函数中定义对象,并计算输出3个职工的平均工资。
- 编写高质量代码改善C#程序的157个建议——建议93:构造方法应初始化主要属性和字段
- //实现中等难度通讯录。需求: //1、定义联系人类Contact。实例变量:姓名(拼音,首字母大写)、性别、电话号码、住址、分组名称、年龄。方法:自定义初始化方法(姓名、电话号码)、显示联系人信息
- JavaScript对象的创建之外部属性定义方式(基于已有对象扩充其属性和方法)
- 实现中等难度通讯录。需求: 1、定义联系人类AddressContact。实例变量:姓名(拼音,首字母大写)、性别、电话号码、住址、分组名称、年龄。方法:自定义初始化方法(姓名、电话号码)、显示联系人
- 实现中等难度通讯录。需求: 1、定义联系人类AddressContact。实例变量:姓名(拼音,首字母大写)、性别、电话号码、住址、分组名称、年龄。方法:自定义初始化方法(姓名、电话号码)、显示联系人
- Java编程之TreeSet排序两种解决方法(1)元素自身具备比较功能,元素需要实现Comparable接口覆盖compare(2)创建根据自定义Person类的name进行排序的Comparator
- SQLServerToSQLite 程序代码的分析翻译及学习(二、根据数据库描述对象创建SQLite数据库)
- 【Java】【TIJ】实现一个类:不允许用构造方法来直接创建类实例(对象)
- JavaScript 创建对象和构造类实现代码
- 41-知识补充(UIPickerView的补充方法,使用self创建对象的好处,id和instancetype区别,KVC底层代码实现,文本框的两个代理方法)
- 编写高质量代码改善C#程序的157个建议——建议10: 创建对象时需要考虑是否实现比较器
- 请教大家:这段程序定义的三个引用,在堆中是不是其实只创建了两个String对象??
- 用于创建实现 System.ComponentModel.INotifyPropertyChanged 接口的动态类型,并添加各个 public 属性的定义
- 获取对象的接口信息(方法/属性/事件)(VB6代码)
- 编写程序实现以下功能: 随机产生20个正整数存入数组a中,且每个数均在1000-9999之间(包含1000和9999)。对数组进行排序,要求按每个数的后三位的大小进行升序排列,然后取出满足此条
- 设计一个学生类,其中包含学号、姓名、成绩等数据成员,创建学生对象并且倒入到文件file.txt,然后由文件读取到另一个学生对象并输出,试编程实现。