我的程序應該模擬購物車。其中一個功能,它從文本文件中讀取項目數據,並將數據(如價格,項目標識和項目名稱)存儲在數組中。一旦我嘗試從下面的'myClass'類中訪問數組內容,看起來函數中添加的數組內容消失了。我想知道是否有人可以幫我弄清楚在函數中使用idArray的正確方法是什麼,在myClass中添加元素如下面的嘗試?添加到陣列中的元素不能在類中使用,失去其值
注意:我向該區域添加了對下面未按預期打印的數組的註釋。
我很感激任何幫助提前。
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]);
}
}
}
});
}
}
readFile()被調用了嗎? 'x'被定義在哪裏?你應該爲'readFile()'添加一些調試語句,以確保它被執行並跟蹤它正在做什麼。 – jahroy
感謝您的回覆。我刪除了很多代碼,使它更易於在網站上閱讀,我定義了所有的變量,包括x ...問題是我從來沒有調用過readFile(),我的錯誤愚蠢,我試圖找出一個好的時候,謝謝你指出,我感謝幫助:) – AnchovyLegend