我有一个包含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
答案 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);