如何打印每个数组元素?

时间:2019-04-07 07:49:25

标签: java

我有一个包含Employee对象的数组。

如何打印数组的每个元素?

我只能获取它来打印最后的输入。

/*This is Employees class
  toString accepts lastname, firstname, payrate, workhour, grosspay, tax, netpay, and return a string */
public void display(Employee a[])
    {
        for (int i=0; i<max; i++)
        {
            System.out.println(a[i].toString());
        }
     }

// main
        for (int a=0; a<max;a++)
        {
            list[a]=emps.getinfo(emp);
        }
        emps.display(list);

//Employee class
//  I am assuming there is something wrong with these two methods in my Employee class. 
public Employee(Employee e)
        {
            lastname=e.lastname;
            firstname=e.firstname;
        }
// Argument will be lastname, firstname, workhour, payrate, grosspay, tax and net.
public String toString()
        {
            return String.format("format", argument);
        }

以下链接是完整的代码。 https://imgur.com/gallery/bTXPSKb

输入

qwe , ewq 5 5
rtw , gtr 7 7

输出

rtw ,gtr 7.00 7.00 49.00 7.35 41.65 
rtw ,gtr 7.00 7.00 49.00 7.35 41.65 

期待

qwe ,ewq 5.00 5.00 25.00 3.75 21.25
rtw ,gtr 7.00 7.00 49.00 7.35 41.65 

2 个答案:

答案 0 :(得分:1)

与代码上下文无关的问题的答案:

Integer[] integers = {1, 2, 3};
System.out.println(Arrays.toString(integers));

看起来像是问题

list[a]=emps.getinfo(emp);

最有可能的emp在循环期间保持不变,因此您得到的结果相同。不幸的是,您的链接没有提供任何信息。

答案 1 :(得分:0)

我建议您将数组写为List,以更广泛地使用该对象。 这是一种更好的做法,现在您可以像这样摇摆它:

List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");

//lambda
//Output : A,B,C,D,E
items.forEach(item->System.out.println(item));

//Output : C
items.forEach(item->{
    if("C".equals(item)){
        System.out.println(item);
    }
});

//method reference
//Output : A,B,C,D,E
items.forEach(System.out::println);

//Stream and filter
//Output : B
items.stream()
    .filter(s->s.contains("B"))
    .forEach(System.out::println);