私のプログラムは、ショッピングカートをシミュレートすることになっています。関数の1つであるこの関数は、テキストドキュメントからアイテムデータを読み取り、価格、アイテムID、アイテム名などのデータを配列に格納します。以下の「myClass」クラスから配列の内容にアクセスしようとすると、関数に追加された配列の内容が消えたようです。以下で試みるように、myClassで、関数に要素が追加されたidArrayを使用する正しい方法を誰かが理解するのを手伝ってくれるかどうか疑問に思っていました。
注:以下のように出力されない配列の領域にコメントを追加しました。
よろしくお願いします。
public class MyClass extends JFrame{
public String[] idArray = new String[10];
public String[] recordArray = new String[10];
public String[] priceArray = new String[10];
public void openFile(){
try{
x = new Scanner(new File("inventory.txt"));
x.useDelimiter(",|" + System.getProperty("line.separator"));
}
catch(Exception e){
System.out.println("Could not find file");
}
}
public void readFile(){
int i=0;
while(x.hasNext()){
idArray[i] = x.next();
recordArray[i] = x.next();
priceArray[i] = x.next();
i++;
}
}
public MyClass(){
/** Code to create GUI Here **/
//Process Item
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String y = item1.getText();
int numItems = Integer.parseInt(y);
MyClass obj = new MyClass();
obj.openFile();
//**ARRAY PRINTS OUT NULL AND DOES NOT PRINT OUT THE VALUES AQUIRED IN THE FUNCTION ABOVE**//
for(int i=0; i < numItems; i++){
for(int g=0; g < idArray.length; g++){
System.out.println(obj.idArray[g]);
}
}
}
});
}
}