⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stockexchangebase.java

📁 source code of voyager yellow page
💻 JAVA
字号:
/*
 * RECURSION PROPRIETARY-NOT TO BE DISCLOSED OUTSIDE RECURSION, INC.
 */

/**
 * Created by twheeler on Mar 8, 2007 at 4:33:08 PM
 */
package examples.yellowpages;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;

/**
 * 
 *
 * @author twheeler
 */
public class StockExchangeBase implements IStockExchange
{
  private String name;
  private List stockData = new LinkedList();

  /**
   * @param string
   * @param tickers
   */
  public StockExchangeBase(String name, String[] tickers)
  {
    this.name = name;
    createStockData(tickers, stockData);
    printStockData();
  }

  public String getName()
  {
    return name;
  }

  public List getStockData()
  {
    return stockData;
  }

  public StockData getStockData(String ticker)
  {
    Iterator i = stockData.iterator();
    while(i.hasNext())
    {
      StockData data = (StockData) i.next();
      if(data.getTicker().equals(ticker))
        return data;
    }
    return null;
  }

  protected void printStockData()
  {
    System.out.println("Stock data for " + getName() + " exchange:");
    Iterator i = stockData.iterator();
    while(i.hasNext())
    {
      StockData data = (StockData) i.next();
      System.out.println(data.toString());
    }
  }
  
  protected static void createStockData(String[] tickers, List stockData)
  {
    Random random = new Random();
    
    for(int i = 0; i < tickers.length; i++)
    {
      String ticker = tickers[i];
      double pe = random.nextDouble() * 6 + 10;
      double[] closingPrices = new double[10];
      double closingPrice = random.nextDouble() * 20 + 20;
      double maxChange = closingPrice / 10;
      double trend = random.nextDouble() * (maxChange / 4);
      if(random.nextBoolean() == true)
        trend = -trend;
      for(int j = 0; j < closingPrices.length; j++)
      {
        closingPrices[j] = closingPrice;
        double change = random.nextDouble() * maxChange;
        if(random.nextBoolean() == true)
          change = -change;
        closingPrice = change + trend + closingPrices[j];
      }
      stockData.add(new StockData(ticker, pe, closingPrices));
    }
  }
  

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -