java数组通过多种方法

时间:2015-02-08 08:00:13

标签: java arrays methods

public class AccountRecord {
  public static final int MAXEMPLOYEES = 2;
  public static void main(String[] args) {
    String[] strTemp = new String[MAXEMPLOYEES];
    Double[] hourTemp = new Double[MAXEMPLOYEES];
    Double[] rateTemp = new Double[MAXEMPLOYEES];
    EmployeeData[] employeeRec = new EmployeeData[MAXEMPLOYEES];
    EmployeeFile getEmployee = new EmployeeFile();
    int count;

    getEmployee.openFile();
    getEmployee.readFile();
    getEmployee.closeFile();

    for(count = 0; count < MAXEMPLOYEES; count++) {
        employeeRec[count] = new EmployeeData();

        strTemp[count] = getEmployee.getFullName(count);
        hourTemp[count] = getEmployee.getHours(count);
        rateTemp[count] = getEmployee.getRate(count);

        employeeRec[count].setName(strTemp[count]);
        employeeRec[count].setHours(hourTemp[count]);
        employeeRec[count].setRate(rateTemp[count]);
        employeeRec[count].setGross();
        employeeRec[count].setTax();
        employeeRec[count].setNet();
    }

上面,是我的主文件的一部分。


所以我想要的是持有一系列帐户,并在该帐户中保存员工的全名,小时和付款。我从中读取并输入文件并将这些输入存储到String的数组中以获取全名,以及一个包含小时和付费的双精度数组。

我遇到的问题出在我的&#34; employeedata&#34;目标文件:

当我尝试设置FullName,hours,payrate并打印出这些值时,我得到一个空值。

P.S。这是我第一次访问stackoverflow,第一次请求代码帮助。如果这是一个糟糕的格式,我会提前道歉,如果你需要我,我会立即为你们解决这个问题。我目前正在学习Java,所以我还没有完全掌握这门语言的知识。谢谢。

编辑:@racraman我已经设法修复了我以前的问题,现在只是一个关于效率的快速回答。正如您在上面的代码中看到的,我正在存储来自&#39; getEmployee&#34;的值。进入我的临时数组(strTemp,hourTemp,rateTemp)来保存它们。然后我将这些值存储到&#39; employeeRec [count]&#39;中。我有一种预感,有一种更好的方法可以解决我在这里尝试做的事情。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

几个问题:

  • 首先,我注意到一个结束评论&#34; * /&#34;在你的第一个for循环之后(带有的那个) System.out.println(&#34;输入名字和姓氏:&#34;); )。我认为这个循环应该注释掉 - 是吗?

  • 其次 - 听起来很小,但最好早点使用标准 - 在Java中,类名是&#34; camel-case&#34; - 即。每个单词的开头都是大写的 - 所以&#34; EmployeeData&#34;而不是&#34; employeedata&#34;。同上变量名称,除了它们有小写的第一个字母 - 例如&#34;的firstName&#34;

实际问题是你有EmployeeData&#34;做&#34;太多 - 它既是文件,也是每个员工的价值观。所以,当你这样做时:     r.openFile();     r.readFile();     r.closeFile();

您正在将文件读入变量&#34; r&#34;。但是,这些值不适用于&#34;员工[记录]&#34;变量,因为它们是与&#34; r&#34;

无关的不同对象

您应该做的是将EmployeeData拆分为两个类: - 类EmployeeFile来封装所有文件处理,和 - 类Employee保存每个员工的属性