3-8作业问题

3-8作业问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
    package com.imcoo.demo;
/***
 * 创建 部门类
 * @author Administrator
 *   描述部门编号、部门名称、获取所有该部门员工信息
 *   统计该部门员工个数
 */
public class Department {
 
     private String departmentnumb;
     private String departmentname;
     private staff[] mystaff;
     private int staffNumber;
 
      
    public Department() {
         
    }
    public Department(String departmentname) {
             
        this.setDepartmentname(departmentname);
    }
     
     
    public String getDepartmentnumb() {
        return departmentnumb;
    }
    public void setDepartmentnumb(String departmentnumb) {
        this.departmentnumb = departmentnumb;
    }
    public String getDepartmentname() {
        return departmentname;
    }
    public void setDepartmentname(String departmentname) {
        this.departmentname = departmentname;
    }
    public staff[] getMystaff() {
        if(this.mystaff==null)
            this.mystaff=new staff[100];
        return mystaff;
    }
    public void setMystaff(staff[] mystaff) {
        this.mystaff = mystaff;
    }
      
     public int getStaffNumber() {
        return staffNumber;
    }
    public void setStaffNumber(int staffNumber) { 
        this.staffNumber = staffNumber;
    }
     
    public void  addstaff(staff sta) {
         
         for(int i=0,m=0,n=0;i<this.getMystaff().length;i++) {
             if(this.getMystaff()[i]==null) {
             this.getMystaff()[i]=sta;          
                 if(this.getMystaff()[i].getStaffname()=="人事部")
                 this.staffNumber=m+1;
                     m++;
                 }
                     else 
                        {this.staffNumber=n+1;
                         n++;}
                 break;
             }
                 
             
              
              
              
     }
 
          
          
     }  
     
     
}      
             
             
             
             
             
             
             
    package com.imcoo.test;
import com.imcoo.demo.Department;
import com.imcoo.demo.Job;
import com.imcoo.demo.staff;
public class TestDemo {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Department  dep1=new Department("人事部");
        Job job1=new Job("经理");
        staff sta1= new staff("张铭","S001","男",29,dep1,job1);
         
        System.out.println(sta1.Play());
        System.out.println("====================================");
         
     
        Job job2=new Job("助理");
        staff sta2= new staff("李艾爱","S002","女",21,dep1,job1);
        System.out.println(sta2.Play());
        System.out.println("====================================");
         
        Job job3=new Job("职员");
        staff sta3= new staff("孙超","S004","男",29,dep1,job3);
        System.out.println(sta3.Play());
        System.out.println("====================================");
        Department  dep2=new Department("市场部");     
        staff sta4= new staff("张美美","S005","女",26,dep2,job3);
        System.out.println(sta4.Play());
        System.out.println("====================================");
        staff sta5= new staff("张蓝迪","S006","男",37,dep2,job1);
        System.out.println(sta5.Play());   
        staff sta6= new staff("米莉","S007","女",24,dep2,job3);
        System.out.println(sta6.Play());
        System.out.println("====================================");
         
        dep1.addstaff(sta1);
        dep1.addstaff(sta2);
        dep1.addstaff(sta3);
        dep2.addstaff(sta4);
        dep2.addstaff(sta5);
        dep2.addstaff(sta6);
         
         
        System.out.println(dep1.getDepartmentname()+"总共有"+dep1.getStaffNumber()+"名员工");
        System.out.println(dep2.getDepartmentname()+"总共有"+dep2.getStaffNumber()+"名员工");
    }
 
     
     
}      
            

http://img1.sycdn.imooc.com/climg//59ca70e600010e9b05390733.jpg


老师帮忙看下 我这个输出为什么一直是1   到底是我的加法语句有问题  还是其他地方的问题

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕雪 2017-09-27 09:48:56

1)因为每次 addstaff(staff sta) 时都会走  for(int i=0,m=0,n=0;i<this.getMystaff().length;i++) {所以m和n每次都是从0开始计数的,你可以把m,n删除,直接写成this.staffNumber=this.staffNumber+1;  2)另外你没必要 if(this.getMystaff()[i].getStaffname()=="人事部"){}else{}不管是什么部门,this.staffNumber都是在统计本部门的员工数。直接this.staffNumber=this.staffNumber+1; 就可以了。3)字符串判断内容是否相等不是用==判断,而应该用"".equals("")这种形式。祝:学习愉快

  • 提问者 猪哥哥呀 #1
    public void addstaff(staff sta) { /** * 1丶 将员工保存到数组中; * 2丶将人事部员工个数保存到staffNumber1 * 3丶将市场部员工个数保存到staffNumber2 */ for(int i=0;i<this.getMystaff().length;i++) { if(this.getMystaff()[i]==null) { this.getMystaff()[i]=sta; this.staffNumber1++; this.staffNumber2++; break; } 可是我这是分别统计2个部门员工的个数,我这样写解释不通啊,为什么我用if(this.getMystaff()[i].getStaffname().equals("人事部")} 这句话判断输入哪个部门不起作用?
    2017-09-27 15:30:51
  • 好帮手慕雪 回复 提问者 猪哥哥呀 #2
    查看 http://class.imooc.com/course/qadetail/21518
    2017-09-27 17:34:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码