使用json+jquery模拟股票涨停

Stock.java

public class Stock {
    private String name;
    private String id;
    private double yestdayPrice;
    private double todayPrice;
    private double nowPrice;
    public Stock(String name, String id, double yestdayPrice, double todayPrice) {
        this.name = name;
        this.id = id;
        this.yestdayPrice = yestdayPrice;
        this.todayPrice = todayPrice;
        this.nowPrice = todayPrice;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public double getYestdayPrice() {
        return yestdayPrice;
    }
    public void setYestdayPrice(double yestdayPrice) {
        this.yestdayPrice = yestdayPrice;
    }
    public double getTodayPrice() {
        return todayPrice;
    }
    public void setTodayPrice(double todayPrice) {
        this.todayPrice = todayPrice;
    }
    public double getNowPrice() {
        return nowPrice;
    }
    public void setNowPrice(double nowPrice) {
        this.nowPrice = nowPrice;
    }
    public String toString(){
        return this.name + ": " + this.nowPrice;
    }
}


StockServlet.java

public class TestStockServlet extends HttpServlet {
    /**
* 
*/
private static final long serialVersionUID = 1L;
private HashMap<String,Stock> Stocks;

    protected void doPost(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {

       doGet(httpServletRequest, httpServletResponse);

    }

    @Override

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置随机数
        double sz = Math.random() * 20;
        double pf = Math.random() * 0.5;

        //根据随机数的奇偶来判断上涨还是下跌
        boolean flagsz = ((int)(Math.random() * 10)) % 2 == 0;
        boolean flagpf = ((int)(Math.random() * 10)) % 2 == 0;
        Stock szzs = Stocks.get("00001");
        Stock pufa = Stocks.get("00002");
        double temp;
        //对股票当前指数进行加减
        if(flagsz) {
            temp = szzs.getNowPrice() + sz;
        }else{
            temp = szzs.getNowPrice() - sz;
        }
        //取小数点后两位
        temp = ((int)(temp * 100) /100.0);
        szzs.setNowPrice(temp);

        if(flagpf) {
            temp = pufa.getNowPrice() + pf;
        }else{
            temp = pufa.getNowPrice() - pf; 
        }
        temp = ((int)(temp * 100) /100.0);
        pufa.setNowPrice(temp);

        response.setContentType("text/html;charset=gbk");
        PrintWriter out = response.getWriter();
        //out.println(szzs + "<br/>" + pufa);
        //采用json的数据格式返回股票信息
        StringBuilder builder = new StringBuilder();
        //数组的方式回传两个股票对象
       builder.append("[{ name:\" ").append(szzs.getName()).append(" \",")
               .append("id: \"").append(szzs.getId()).append(" \",")
               .append("yes: ").append(szzs.getYestdayPrice()).append(" ,")
               .append("tod: ").append(szzs.getTodayPrice()).append(" ,")
               .append("now: ").append(szzs.getNowPrice()).append(" },")
               .append("{ name: \"").append(pufa.getName()).append(" \",")
               .append("id: \"").append(pufa.getId()).append(" \",")
               .append("yes: ").append(pufa.getYestdayPrice()).append(" ,")
               .append("tod: ").append(pufa.getTodayPrice()).append(" ,")
               .append("now: ").append(pufa.getNowPrice()).append(" }]");
        out.println(builder);
        
        System.out.println(builder);
    }


    @Override

    public void init() throws ServletException {
        Stocks = new HashMap<String,Stock>();
        Stock szzs = new Stock("上证指数","00001",3000.0,2999.0);
        Stock pufa = new Stock("浦发银行","00002",25.0,24.0);
        Stocks.put(szzs.getId(),szzs);
        Stocks.put(pufa.getId(),pufa);
        System.out.println(Stocks);
    }

}

stock.js:

$(document).ready(function(){
    getInfo();
    //每隔一秒和服务器进行交互
    setInterval(getInfo,1000);
});


function getInfo(){
    //向服务器端发起请求,获取数据
     $.get("/test/TestStockServlet",null,function(data){
        //接收数据, 解析数据
        var obj = eval(data);
        //获取两个对象
        var szzs = obj[0];
        var pufa = obj[1];
        //找到页面对应的节点,填充股票价格
       var span1 = $("#00001").children("span");
         span1.html(szzs.now);
         if(szzs.now > szzs.yes){
             span1.css("color","red");
         }else{
             span1.css("color","green");
         }
       var span2 = $("#00002").children("span");
         span2.html(pufa.now);
         if(pufa.now > pufa.yes){
             span2.css("color","red");
         }else{
             span2.css("color","green");
         }
    });
}

Stock.html:

<html>

<head>

    <title></title>

    <script type="text/javascript" src="../js/jquery.js"></script>

    <script type="text/javascript" src="jquerystock.js"></script>

</head>

<body>

      <div id="00001"><a href="#">上证指数:</a><span></span></div>

      <div id="00002"><a href="#">浦发银行:</a><span></span></div>

</body>

</html>


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值