У меня есть ArrayList, где она имеет определенное количество элементов, каждый из которых состоит из двух значений (день, центов) company.getAnnouncements().get(0)
получить конкретное значение из ArrayList элемента Java
Приведенный выше код будет извлекать первый элемент в ArrayList , но мне нужен только компонент cents этого элемента. Как бы вы это сделали?
public class Announcement implements Event {
private int day ;
private String statement;
public Announcement(int day, String statement) {
this.day = day;
this.statement = statement;
}
@Override
public String printEvent() {
return statement;
}
public int getDay() {
// TODO Auto-generated method stub
return day;
}
}
Это класс Объявление у меня есть и дивидендная расширяет его
public class Dividend extends Announcement {
private int cents;
public Dividend(int day, int cents) {
super(day,"");
this.cents=cents;
}
public double getCents() {
return (double) (cents)/100;
}
public void setCents(int cents) {
this.cents = cents;
}
@Override
public String printEvent() {
// TODO Auto-generated method stub
return "Dividend of " + getCents() + " per share" ;
}
}`
И Компания Класс
public class Company implements Event {
private String name;
private String code;
private int currShares;
private double previousPrice;
private ArrayList <Dividend> dividends;
private ArrayList <Announcement> announcements;
private ArrayList <Trade> trades;
public Company(String code, String name, int currShares,
double previousPrice) {
this.name = name;
this.code = code;
this.setCurrShares(currShares);
this.previousPrice = previousPrice;
this.trades = new ArrayList <Trade>();
this.dividends = new ArrayList <Dividend>();
this.announcements = new ArrayList <Announcement>();
}
public void addDividend(int day , int cents){
dividends.add(new Dividend(day, cents));
}
public void addAnnouncement(int day , String statement){
announcements.add(new Announcement(day, statement));
}
public void addTrade(int day , int sharesTraded , double pricePerShare){
trades.add(new Trade(day, sharesTraded, pricePerShare));
}
public String printEvent() {
return "Printed!!";
}
public String getCode() {
return code;
}
public ArrayList<Dividend> getDividends() {
return dividends;
}
public void setDividends(ArrayList<Dividend> dividends) {
this.dividends = dividends;
}
public ArrayList<Announcement> getAnnouncements() {
return announcements;
}
public void setAnnouncements(ArrayList<Announcement> announcements) {
this.announcements = announcements;
}
public ArrayList<Trade> getTrades() {
return trades;
}
public void setTrades(ArrayList<Trade> trades) {
this.trades = trades;
}
public String getName() {
return name;
}
public void addAnnouncement(int day, int cent) {
// TODO Auto-generated method stub
announcements.add(new Dividend(day,cent));
}
public int getCurrShares() {
return currShares;
}
public void setCurrShares(int currShares) {
this.currShares = currShares;
}
}
Основываясь на том, что вы предоставили, я сделал бы это с помощью сложного набора отражения и вероятностного соответствия имени поля. Но было бы проще, если бы вы могли показать нам, что именно вы выбрали из списка? –
Есть ли способ, который я могу добавить больше информации для моего вопроса ?? – MrKeyboard
Мне нужно получить информацию о классе «Дивиденд», который расширяет класс «Анонс». Класс Dividend имеет день и центы в качестве атрибутов и расширяет класс Announcement, который имеет день и оператор как атрибуты. – MrKeyboard