문제를 직접 해결하려면이 단락을 건너 뜁니다. 실습으로서, 나는 경제를 시뮬레이트하는 자바 프로그램을 작성하려고 노력하고 있으며, 그 목적을 위해 회사 클래스를 작성했다. 아이디어는, 말하자면, 12 개를 가지고, 그들의 수입을 정규 변이 함수로 감싸는 것이고, 그것은 경제 일 것입니다.다른 클래스의 인스턴스 변수에 액세스
저는 JFreeChart를 사용하여 회사의 출력을 그래프로 나타 내기 위해 별도의 클래스를 작성했습니다. 그러나 ArrayList에 액세스 할 수 없어 그래프 클래스에서 매년 금액을 씁니다. 이 작업을 수행하는 가장 좋은 방법은 getter를 사용하는 것이지만 작동하지 않는 것 같아서 조언이 맞다면 예제를 제공해 주시겠습니까? 감사!
회사 :
public class ServiceProvider implements Company {
//Variables
public ArrayList getRecords(){
return records;
}
public ServiceProvider(){
money = 10000;
yearID = 0;
goodYears = 0;badYears = 0;
records = new ArrayList();
id++;
}
public void year() {
yearID++;
if(!getBankrupt()){
spend();
}
writeRecords();
}
public void spend() {
...
}
public void printRecords() {
for(int i=0;i<records.size();i++){
String[] tmp = (String[]) records.get(i);
for(String a:tmp){
System.out.print(a+" ");
}
System.out.print("\n");
}
}
public void writeRecords(){
String[] toWrite = new String[2];
toWrite[0] = String.valueOf(yearID);
toWrite[1] = String.valueOf(money);
records.add(toWrite);
}
public void writeRecords(String toWrite){
String temp = "\n"+yearID+" "+toWrite;
records.add(temp);
}
public boolean getBankrupt(){
boolean result = (money < 0) ? true : false;
return result;
}
}
내가에서 액세스하려고 :
public class grapher extends JFrame {
ArrayList records = s.getRecords();
public grapher(){
super("ServiceProvider");
final XYDataset dataset = getCompanyData();
}
private XYDataset getCompanyData(){
XYSeries series;
for(int i=0;i<s.getRecords().length;i++){ //S cannot be resolved, it's instantiated in the main class.
}
}
}
메인 클래스 :
public class start {
public static void main(String[] args) {
ServiceProvider s = new ServiceProvider();
for(int i=0;i<10;i++){
s.year();
}
s.printRecords();
}
}
P.S. 기록이 얼마나 엉망인지 말해주지 마세요. 알아.
해당 코드가있는 경우 문제의 정도는 어느 정도입니까? 질문과 관련된 * 코드가 아닌 코드는 모두 편집하고 삭제하십시오. 'ClassA','ClassB' 등의 예제 코드를 제공하면 더 좋습니다. [SSCCE] (http://sscce.org) – Bohemian