Java 我的数组只打印出文件中的最后一个元素,我希望它打印出所有元素

Java 我的数组只打印出文件中的最后一个元素,我希望它打印出所有元素,java,arrays,elements,Java,Arrays,Elements,我已经将要点链接到stockData txt文件以及我的程序运行时显示的内容。 还有,我不担心totalChangepercent返回0.0%,因为我还没有完成,但我没有进一步解决这个问题 是的,这是一个家庭作业,但我做了两个类似的作业,没有任何问题,所以我不知道还能做什么 编程运行: Symbol: AAPL Stock: Apple Inc Previous Closing Price: $100.8 Current Price: $102.3 Total Change Percent: 0

我已经将要点链接到stockData txt文件以及我的程序运行时显示的内容。 还有,我不担心totalChangepercent返回0.0%,因为我还没有完成,但我没有进一步解决这个问题

是的,这是一个家庭作业,但我做了两个类似的作业,没有任何问题,所以我不知道还能做什么

编程运行:

Symbol: AAPL
Stock: Apple Inc
Previous Closing Price: $100.8
Current Price: $102.3
Total Change Percent: 0.0%

Symbol: AAPL
Stock: Apple Inc
Previous Closing Price: $100.8
Current Price: $102.3
Total Change Percent: 0.0%

Symbol: AAPL
Stock: Apple Inc
Previous Closing Price: $100.8
Current Price: $102.3
Total Change Percent: 0.0%

Symbol: AAPL
Stock: Apple Inc
Previous Closing Price: $100.8
Current Price: $102.3
Total Change Percent: 0.0%

Symbol: AAPL
Stock: Apple Inc
Previous Closing Price: $100.8
Current Price: $102.3
Total Change Percent: 0.0%

Symbol: AAPL
Stock: Apple Inc
Previous Closing Price: $100.8
Current Price: $102.3
Total Change Percent: 0.0%

Symbol: AAPL
Stock: Apple Inc
Previous Closing Price: $100.8
Current Price: $102.3
Total Change Percent: 0.0%

Symbol: AAPL
Stock: Apple Inc
Previous Closing Price: $100.8
Current Price: $102.3
Total Change Percent: 0.0%

Symbol: AAPL
Stock: Apple Inc
Previous Closing Price: $100.8
Current Price: $102.3
Total Change Percent: 0.0%

Symbol: AAPL
Stock: Apple Inc
Previous Closing Price: $100.8
Current Price: $102.3
Total Change Percent: 0.0%
stockData.txt:

GPRO  
GoPro, Inc.
89.93
89.8773
SBUX
Starbucks
75.26
75.76
JCP
JC Penney
8.18
7.72
AMZN
Amazon
323.71
319.94
AE
Adams Resources and Energy
44.71
44.69
CEP
Constellation Energy Partners
3.38
3.35
KO
Coca-Cola
43.66
44.44
MCD
McDonald's
92.81
93.53
TSLA
Tesla Motors
259.28
264.57
AAPL
Apple Inc
100.80
102.30


公共类股票驱动程序
{
公共静态void main(字符串args[])引发IOException
{
股票[]股票数据=新股票[10];
setStockData(股票数据);
显示stockData(stockData);
显示改良股票(股票数据);
}//末端总管
公共静态无效setStockData(Stock[]stockData)引发IOException
{
File fileIn=新文件(“stockdata.txt”);
扫描仪扫描=新扫描仪(文件输入);
如果(!fileIn.exists())
{
System.out.println(“找不到文件!”);
系统出口(0);
}//如果结束,则结束检查
字符串符号,股票名称;
双倍前收盘价,当前价;
int i=0;
while(scan.hasNext()&&i=stockData[i].getCurrentPrice())
{
doMath=后改进;
}否则
{
System.out.println(“”);
}//结束
Total=doMath;
System.out.println(“\n改进股票:“+defor.format(totalImproved));
}
}
公共静态无效显示stockData(Stock[]stockData)
{

对于(int i=0;i所有类变量都是静态的,这意味着它们在类的所有实例中都是共享的

public class Stock
{
private String symbol;
private String stockName;
private double previousClosingPrice, currentPrice;
private double totalChangePercent;
public class StockDriver
{
public static void main(String args[]) throws IOException
{
    Stock [] stockData = new Stock [10];

    setStockData(stockData);
    displayStockData(stockData);
    displayImprovedStocks(stockData);
} //end main

public static void setStockData(Stock [] stockData) throws IOException
{

    File fileIn = new File("stockdata.txt");
    Scanner scan = new Scanner(fileIn);

    if(!fileIn.exists())
    {
        System.out.println("No file found!");
        System.exit(0);
    } //end if -- ends check

    String symbol, stockName;
    double previousClosingPrice, currentPrice;
    int i = 0;

    while(scan.hasNext()&& i < stockData.length)
    {
        symbol = scan.nextLine();
        stockName = scan.nextLine();
        String postPriceStr = scan.nextLine();
        String currentPriceStr = scan.nextLine();
        previousClosingPrice = Double.parseDouble(postPriceStr);
        currentPrice = Double.parseDouble(currentPriceStr);
        stockData[i] = new Stock(symbol, stockName, previousClosingPrice, currentPrice);
        i++;
    } //end while
} //end setStockData()

public static void displayImprovedStocks(Stock [] stockData)
{
    DecimalFormat decFor = new DecimalFormat("#0.00");
    double totalImproved = 0.0;
    double postImproved = 0.0;
    double doMath = 0.0;

    for (int i = 0; i < stockData.length; i++)
    {
        postImproved += stockData[i].getPreviousClosingPrice();
        if (postImproved >= stockData[i].getCurrentPrice())
        {
            doMath = postImproved;
        } else
        {
            System.out.println(" ");
        } //end

        totalImproved = doMath;
        System.out.println("\nImproved Stocks: " + decFor.format(totalImproved));
    }


}
public static void displayStockData(Stock [] stockData)
{
    for(int i = 0; i <= stockData.length; i++)
    {
        System.out.println(stockData[i]);
    }
}
}
public class Stock
{
private String symbol;
private String stockName;
private double previousClosingPrice, currentPrice;
private double totalChangePercent;