#java
#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
Комментарии:
1. Где вы устанавливаете свойства экземпляров Employee?
2. В классе employees.
3. Я не вижу этого в коде, который вы опубликовали. Также, пожалуйста, опубликуйте класс Employee.
4. Я публикую класс Employee. Что касается свойств экземпляров Employee, вы запрашиваете конструкторы Employee?
5. Пожалуйста, опубликуйте полный код. Включая переменные экземпляра класса Employee, включая фактическое тело
getInfo
.
Ответ №1:
Ответ на ваш вопрос независимо от контекста кода:
Integer[] integers = {1, 2, 3};
System.out.println(Arrays.toString(integers));
похоже, проблема в
list[a]=emps.getinfo(emp);
скорее всего, emp остается неизменным во время вашего цикла, поэтому вы получаете тот же результат. К сожалению, ваша ссылка не предоставляет никакой информации.
Ответ №2:
Я бы посоветовал вам записать свой массив в виде списка для более общего использования объекта. это лучшая практика таким образом, и теперь вы можете танцевать рок-н-ролл вот так:
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);