ShMoMo 2018-10-07 03:52 采纳率: 0%
浏览 815

关于Java的toString函数调用

输不出来数据……,想问一下,toString函数的调用方法,有大佬心情好的话,可以看一下别的代码,萌新啥也不懂,泪流满面
package cn.campsg.java.experiment;

public class Employee {
private String no;
private String name;
private float salary;
private String department;
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getSalary() {
return salary;
}
public void setSalary(float salary) {
this.salary = salary;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public Employee(){

}
public Employee(int index,Employee[]employees){
    this.no = employees[index].no;
    this.name = employees[index].name;
    this.salary = employees[index].salary;
    this.department = employees[index].department;
}
public Employee(String string, String string2, String string3, float f) {
    // TODO Auto-generated constructor stub
    this.no = string;
    this.name = string2;
    this.department = string3;
    this.salary = f;
}
public boolean equals(Object o) {
    if(o==null){
        return false;
    }
    if(!(o instanceof Employee)){
        return false;
    }
    Employee emp = (Employee)o;
    if(!emp.getNo().equals(this.getNo()))
          return false;
    return false;
}
@SuppressWarnings("null")
public String toString() {
    StringBuffer buffer=null;
    buffer.append("工号:"+this.no+",姓名:"+name+",部门:"+department+",薪水:"+salary);
    return buffer.toString();
}

}
package cn.campsg.java.experiment;

public class MainClass {
private static final char[] buffer = null;
public static boolean isRepeat(int index,Employee[] employees) {
Employee emp = new Employee();
emp = employees[index];
for(int i=0;i<3;i++){
if(emp == employees[i]){
continue;
}
if(emp.getNo().equals(employees[i].getNo())){
return true;
}
else
return false;

}
return true;
}
public static void main(String[] arge){
Employee []employees = new Employee[3];;
employees[0] = new Employee("1001","张一","销售部",5000.0f);
employees[1] = new Employee("1002","王二","销售部",6500.0f);
employees[2] = new Employee("1001","Alan","研发部",15000.0f);
int count = 0;
for(int i=0;i<3;i++){
int index = i;
if(isRepeat(index,employees)==false){
System.out.println(employees);
count ++;
}
}
System.out.println("本公司有效员工数:"+count);
}

}

展开全部

  • 写回答

4条回答 默认 最新

  • danielinbiti 2018-10-07 06:38
    关注
     if(isRepeat(index,employees)==false){
    System.out.println(employees[index]);
    count ++;
    }
    
    评论
  • 紫气天堂 2018-10-07 07:19
    关注

    for(int i=0;i<3;i++){
    if(emp == employees[i]){
    continue;
    }
    if(emp.getNo().equals(employees[i].getNo())){
    return true;
    }
    else
    return false;

    }
    你这一部分的循环判断有问题,可以改成这个:
    for (Employee employee : employees) {
    if(emp == employee){
    break;
    }else{
    continue;
    }
    }

    评论
  • 紫气天堂 2018-10-07 07:19
    关注

    你写的equals方法也有问题,最后一个return false;应该改为return true;的,不过不影响最后的结果

    评论
  • 刘怡大帝 2018-10-13 07:16
    关注

    你这个JavaBean(Employee )类就没有复写toString()方法啊,没有复写就是调用的是父类Object中的toString方法,打印的是地址值。

    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 想用octave解决这个数学问题
  • ¥15 Centos新建的临时ip无法上网,如何解决?
  • ¥15 海康威视如何实现客户端软件对设备语音请求的处理。
  • ¥15 支付宝h5参数如何实现跳转
  • ¥15 MATLAB代码补全插值
  • ¥15 Typegoose 中如何使用 arrayFilters 筛选并更新深度嵌套的子文档数组信息
  • ¥15 前后端分离的学习疑问?
  • ¥15 stata实证代码答疑
  • ¥50 husky+jaco2实现在gazebo与rviz中联合仿真
  • ¥15 dpabi预处理报错:Error using y_ExtractROISignal (line 251)
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部