回答1:package com.hbsoft.servlet;import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Random;import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;public class SecondServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { this.doPost(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setHeader("pragma","no-cache");
response.setHeader("cache-control","no-cache");
response.setHeader("expires","0");
response.setContentType("image/jpeg");
int width = 650;
int height = 520;
int StepX = 40;
int StepY = 40;
BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
g.setColor(Color.pink);
g.fillRect(0,0,width,height);
g.setColor(Color.blue);
//画出虚拟X轴并添加虚拟Y轴的左箭头和右箭头
g.drawLine(getConversionX(0),getConversionY(0),getConversionX(0),getConversionY(440));
g.drawLine(getConversionX(0),getConversionY(440),getConversionX(-5),getConversionY(435));
g.drawLine(getConversionX(0),getConversionY(440),getConversionX(5),getConversionY(435));
//画出虚拟Y轴并添加虚拟X轴的左箭头和右箭头
g.drawLine(getConversionX(0),getConversionY(0),getConversionX(500),getConversionY(0));
g.drawLine(getConversionX(500),getConversionY(0), getConversionX(495),getConversionY(5));
g.drawLine(getConversionX(500),getConversionY(0), getConversionX(495),getConversionY(-5));
int m = 0;
int n = 0;
int month = 0;
int money = 0;
int mm = StepX;
int random = 0;
boolean Judge = false;
int[] cc = new int[]{new Random().nextInt(450),new Random().nextInt(450) ,new Random().nextInt(450),new Random().nextInt(450) ,new Random().nextInt(450),new Random().nextInt(450) ,new Random().nextInt(450),new Random().nextInt(450) ,new Random().nextInt(450),new Random().nextInt(450) ,new Random().nextInt(450),new Random().nextInt(450) ,new Random().nextInt(450)};
for(int x = 0;x < 12;x ++){
m = m + StepY;
n = n + StepX;
money = money + 1;
g.drawString(money + "万亿元",getConversionX(-60),getConversionY(m-6));
g.drawLine(getConversionX(0), getConversionY(m),getConversionX(-5),getConversionY(m));
g.drawLine(getConversionX(n), getConversionY(0),getConversionX(n),getConversionY(5));
month = month + 1;
g.drawString(month + "月",getConversionX(n-15),getConversionY(-20));
if(Judge){
if(x!=11){
g.drawLine(getConversionX(mm), getConversionY(cc[x]),getConversionX(mm+StepX),getConversionY(cc[x+1]));
mm = mm + StepX;
}
}else{
if(x!=11){
random = cc[x];
g.drawRect(getConversionX(mm),getConversionY(random),10,450-getConversionY(random));
g.setColor(Color.yellow);
g.fillRect(getConversionX(mm),getConversionY(random),10,450-getConversionY(random));
mm = mm + StepX;
}
}
}
HttpSession session = request.getSession();
session.setAttribute("hand","");
ImageIO.write(image, "JPEG",response.getOutputStream());
}
public int getConversionX(int x1){
int x = 100;
int xx = x + x1;
return xx;
}
public int getConversionY(int y1){
int y = 450;
int yy = y - y1;
return yy;
}
}
或者您可以试试搜索一下这些问题:
java 画股票走势图代码?Java 实现
股票走势对比分析 ,功能就是实现 各只
股票与大盘的...
基于
java的
股票走势预测系统的设计与实现 谁会做啊
用
Java的画图实现 价格-日期 的
走势图回答2:public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setHeader("pragma","no-cache");
response.setHeader("cache-control","no-cache");
response.setHeader("expires","0");
response.setContentType("image/jpeg");
int x = 450;
int x1 = 57;
int x2 = 460;
int y = 400;
int salary = 0;
int month = 0;
int x3 = 47;
BufferedImage image = new BufferedImage(600,500,BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
g.setColor(Color.pink);
g.fillRect(0,0,600,500);
g.setColor(Color.blue);
g.drawLine(60,450, 60,10);//点(60,450)到点(60,10)的长度也就是虚拟y轴
g.drawLine(60, 10, 55, 15);//在虚拟y轴上添加左箭头
g.drawLine(60,10, 65, 15);//在虚拟y轴上添加右箭头
//g.drawLine(x1, y1, x2, y2);
for(int i = 0; i < 10;i ++){
g.drawLine(60, x = x - 42, 52, x);
salary = salary + 1;
g.drawString(salary + "亿元 ",0,x2 = x2 - 43);
}
for(int i = 0; i < 12;i ++){
g.drawLine(x1 = x1 + 40,450,x1,455);
}
for(int i = 0; i < 12; i ++){
month = month + 1;
g.drawString(month + "月",x3 = x3 + 37 , 470);
}
int[] cc = new int[]{new Random().nextInt(450),new Random().nextInt(450)
,new Random().nextInt(450),new Random().nextInt(450)
,new Random().nextInt(450),new Random().nextInt(450)
,new Random().nextInt(450),new Random().nextInt(450)
,new Random().nextInt(450),new Random().nextInt(450)
,new Random().nextInt(450),new Random().nextInt(450)
,new Random().nextInt(450),new Random().nextInt(450)};
int aa = 87;
int bb = 300;
int x4 = 57;
for(int i = 0; i < 13; i ++){
int aaa = cc[i];
int bbb = cc[i+1];
g.drawLine(x4=x4+40,aaa,x4+40,bbb);
}
g.drawLine(60, 450, 540, 450);//点(60,450)到点(450,450)的长度也就是虚拟x轴
g.drawLine(540,450,534,455);// 在虚拟x轴上添加上箭头
g.drawLine(540,450,534,445);// 在虚拟x轴上添加下箭头
//g.drawLine(x1, y1, x2, y2);
//图标内的坐标点!
HttpSession session = request.getSession();
session.setAttribute("hand","");
ImageIO.write(image, "JPEG",response.getOutputStream());
}