是tomcat服务器不稳定还是sqlserver不好用? 从你给的这些代码很难看出什么名堂来。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.io.*;import java.sql.*;import java.awt.*;import java.util.Vector;import java.util.Date;import java.text.*;import javax.servlet.*;import javax.servlet.http.*;import Acme.JPM.Encoders.*;public class SwxxYl_sqcb extends HttpServlet { private Connection conn=null; private Statement stmt=null; private ResultSet result=null; private Vector ht=new Vector(),tt=new Vector(); String driverName="sun.jdbc.odbc.JdbcOdbcDriver"; String dburl="jdbc:odbc:book"; String userName="sa"; String passWord=""; String sqlString=null; String dt=null; int czshu=0;//测站数 Czgk[] csxx; //测站概况表 int[] sjNew; float[] tjYuLiang;// int shijian[][];//时间// float yuliang[][];//雨量 public void init(ServletConfig config) throws ServletException { super.init(config); } public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException { ServletOutputStream out=res.getOutputStream(); Frame f=null; Graphics g=null; try { if(conn==null || conn.isClosed()) { userName=req.getParameter("userName"); if(userName==null) userName="sa"; passWord=req.getParameter("passWord"); if(passWord==null) passWord=""; createConn(driverName,dburl); } }catch (SQLException e) { e.printStackTrace(); } tjgk();//统计概况表 dt=req.getParameter("dt");//取起始时间 if (!(dt.trim()).equalsIgnoreCase("null")) { System.out.println(dt); dt=dt.trim(); } else { dt="2000-12-2 16:00:00"; System.out.println(dt); } tjyl();//统计雨量表 String cznum=req.getParameter("cznum");//取测站编码 if (cznum==null) cznum="1"; createSql(cznum); try { f=new Frame(); f.addNotify(); Image img=f.createImage(600,350); g=img.getGraphics(); if (execQuery(sqlString)) {// g.setFont(new Font("serif",Font.ITALIC,32)); drawXY(g); drawQx(g); } else { g.drawString("数据库创建失败!",200,150); } res.setContentType("image/gif"); GifEncoder encoder=new GifEncoder(img,out); encoder.encode(); if (result!=null) result.close(); if (stmt!=null) stmt.close(); } catch(IOException e) { e.printStackTrace(); } catch(SQLException e) { e.printStackTrace(); } finally { if(g!=null) g.dispose(); if(f!=null) f.removeNotify(); if (csxx!=null) csxx=null; if (sjNew!=null) sjNew=null; if (tjYuLiang!=null) tjYuLiang=null; if(ht!=null) ht.removeAllElements(); if(tt!=null) tt.removeAllElements(); } } public void tjgk() {//统计概况表 sqlString="select * from 测站概况表"; if (execQuery(sqlString)) System.out.println("查询成功"); try { result.last(); //while(result.next()) czshu++; czshu=result.getRow(); if (czshu >0) { csxx=new Czgk[czshu]; for(int ii=0;ii<czshu;ii++) csxx[ii]=new Czgk();// shijian=new int[czshu][];// yuliang=new float[czshu][]; } System.out.println("" + czshu); int i=0; //result.close(); //stmt.close(); //if (execQuery(sqlString)) System.out.println("查询成功"); result.beforeFirst(); while(result.next()) { csxx[i].czbh=result.getString("测站编码");// csxx[i].kzmj=result.getFloat("控制面积");// System.out.println(csxx[i].czbh + " " + csxx[i].kzmj); i++; } result.close(); stmt.close(); } catch(SQLException e) { e.printStackTrace(); } } public void tjyl() { //统计雨量表 for(int i=0;i<czshu;i++) { System.out.println(csxx[i].czbh + " " + csxx[i].kzmj); createSql(csxx[i].czbh); execQuery(sqlString); try { result.last(); int recshu=result.getRow(); if (recshu >0) { csxx[i].shijian=new int[recshu]; csxx[i].yuliang=new float[recshu]; } /*else {//确保不是空指针 csxx[i].shijian=new int[1]; csxx[i].yuliang=new float[1]; }*/ if (recshu >0) { int j=0; result.first(); do { csxx[i].shijian[j]=dstr(result.getString("时间")); csxx[i].yuliang[j]=result.getFloat("降雨量"); System.out.println("" + csxx[i].shijian[j] + " " + csxx[i].yuliang[j]); j++; } while(result.next()); } result.close(); stmt.close(); } catch(SQLException e) { e.printStackTrace(); } } } public void createSql(String cznum) { //int years,months,dates,hours; //日期格式 SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //解析位置 ParsePosition pos = new ParsePosition(0); //产生Date对象 java.util.Date now = formatter.parse(dt, pos); //间隔1天生成另一Date对象 long sj=now.getTime()+24*3600*1000; java.util.Date now1 = new java.util.Date(sj); //产生查询字符串 sqlString="SELECT * FROM 时段为1小时降雨量表 where 时间 between '" + formatter.format(now)+ "' and '" + formatter.format(now1) + "'"; sqlString=sqlString + "and 测站编码=" +cznum ; //System.out.println(sqlString); } public void drawXY(Graphics g) {//坐标 g.drawRect(0,0,599,399);//原点:50,20,图像尺寸:600X400 g.drawLine(50,300,580,300);//x g.drawLine(50,300,50,20);//y g.drawString("时间t(h)",530,315); g.drawString("降水量",5,35); g.drawString("P(mm)",5,50); //g.drawString(dt,130,100); //dt表示起始时间 drawKD(g,24,dealstr(dt)); } public int dealstr(String dt) {//返回小时数 if (dt!=null) { SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ParsePosition pos = new ParsePosition(0); java.util.Date currentTime_2 = formatter.parse(dt, pos); return currentTime_2.getHours(); } return 8; } public void drawKD(Graphics g,int num,int dt) { //画刻度 for(int i=1;i<num;i++) { //x g.drawLine(50+i*20*(24/num),305,50+i*20*(24/num),295); g.drawString(Integer.toString((i+dt)%num==0?num:(i+dt)%num),50+i*20*(24/num)-3,318); } for(int i=1;i<=10;i++) { //y g.drawLine(45,300-i*24,55,300-i*24); g.drawString (Integer.toString(i*15),18,300-i*24+5); } } public int dstr(String s) { //处理当前时间与初始时间的差值 SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ParsePosition pos = new ParsePosition(0); //System.out.println(dt); Date currentTime_2 = formatter.parse(dt, pos); //初始时间 pos = new ParsePosition(0); //System.out.println(s); Date currentTime_3 = formatter.parse(s, pos); //当前时间 long cha=currentTime_3.getTime()-currentTime_2.getTime(); return (int)(cha/60000);//转成分钟 } public void drawQx(Graphics g) throws SQLException { getHt();//把时间和雨量存入vector中 int size=tt.size(); //把时间和雨量存入数组中 int sjian[]=new int[size]; float yliang[]=new float[size]; //System.out.println("length:"+size); for(int i=0;i<size;i++) { sjian[i]=dstr((String)tt.elementAt(i)); yliang[i]=Float.valueOf((String)ht.elementAt(i)).floatValue(); } g.setColor(Color.blue); drawZft(g,sjian,yliang);//画直方图 drawJsLjx(g,sjian,yliang);//雨量累计线 shuzuConvert(); g.setColor(Color.red); drawJsLjx(g,sjNew,tjYuLiang);//流域面降水累计线 } public void shuzuConvert() { int sjlen=0; int sj[]; //取时间长度// czshu=2; for(int i=0;i<czshu;i++) { if (csxx[i].shijian!=null) sjlen+=csxx[i].shijian.length; } System.out.println("sjlen:" + sjlen); //时间一维化 sj=new int[sjlen]; int sjCount=0; for(int i=0;i<czshu;i++) { //System.out.println("i=" + i + " csxx[i]=" + csxx[i]); if ( csxx[i].shijian!=null ) for(int j=0; j<csxx[i].shijian.length;j++) { //System.out.println("j=" + j); sj[sjCount++]=csxx[i].shijian[j]; } } //排序 int minValue=0; for(int i=0;i<sj.length;i++) { for(int j=i;j<sj.length;j++) { if (sj[i]>sj[j]) { minValue=sj[j]; sj[j]=sj[i]; sj[i]=minValue; } } } //去掉重复元素 //统计不同元素的个数 sjCount=sj.length; for(int i=1;i<sj.length;i++) if (sj[i]==sj[i-1]) sjCount--; sjNew=new int[sjCount]; int cnt=1; for(int i=0;i<sj.length;i++) { if (i==0) { sjNew[i]=sj[i]; cnt=1; } else { if (sj[i]!=sj[i-1]) sjNew[cnt++]=sj[i]; } } System.out.println("sjNew.length="+sjNew.length); for(int i=0;i<sjNew.length;i++) System.out.println(""+sjNew[i]); //填充数据 //初始化数据 float[][] lsYuLiang; lsYuLiang = new float[czshu][]; for(int i=0;i<czshu;i++) { lsYuLiang[i]=new float[sjNew.length]; } for(int i=0;i<czshu;i++) { if (csxx[i].shijian!=null) for (int j=0;j<csxx[i].shijian.length;j++) { int col=chaZhi(csxx[i].shijian[j],sjNew); if (col!=-1) lsYuLiang[i][col]=csxx[i].yuliang[j]; } } //求权值系数 float[] qzxs=new float[czshu]; float totalArea=0; for(int i=0;i<czshu;i++) totalArea+=csxx[i].kzmj; for(int i=0;i<czshu;i++) { qzxs[i]=csxx[i].kzmj/totalArea; System.out.println("qzxs["+i+"]="+qzxs[i]); } //统计雨量值 tjYuLiang=new float[sjNew.length]; for(int j=0;j<sjNew.length;j++) { for(int i=0;i<czshu;i++) tjYuLiang[j]+=lsYuLiang[i][j]*qzxs[i]; } System.out.println(); for(int i=0;i<tjYuLiang.length;i++) { System.out.println("tjYuLiang[" + i+"]="+tjYuLiang[i]); } } public int chaZhi(int x,int[] y) { for(int i=0;i<y.length;i++) { if (x==y[i]) return i; } return -1; }/* public void drawLyLjx(Graphics g) {//流域面降水累计线 g.setColor(Color.red); }*/ public void drawZft(Graphics g,int[] sj,float[] yl) {//直方图 int spx=0; System.out.println("length:"+sj.length); for(int i=0;i<sj.length;i++) { System.out.println(""+sj[i]+" "+yl[i]); if (i==0) { Polygon p=new Polygon(); p.addPoint(50,300); p.addPoint(50,300-(int)(yl[i]/15*24)); p.addPoint(50+(int)(sj[i]/60.0*20.0),300-(int)(yl[i]/15*24)); p.addPoint(50+(int)(sj[i]/60.0*20.0),300); p.addPoint(50,300); g.fillPolygon(p); spx=50+(int)(sj[i]/60.0*20.0); } else { Polygon p=new Polygon(); if ((50+(int)(sj[i]/60.0*20.0)-spx) > 20) { spx=30+(int)(sj[i]/60.0*20.0); // System.out.println(""+sj[i]+":" + "true"); } p.addPoint(spx,300); p.addPoint(spx,300-(int)(yl[i]/15*24)); p.addPoint(50+(int)(sj[i]/60.0*20.0),300-(int)(yl[i]/15*24)); p.addPoint(50+(int)(sj[i]/60.0*20.0),300); p.addPoint(spx,300); g.fillPolygon(p); spx=50+(int)(sj[i]/60.0*20.0); } } } public void drawJsLjx(Graphics g,int[] sj,float[] yl) {//雨量累计线 float yulj=0; int spx=0; for(int i=0;i<sj.length;i++) { //System.out.println(""+sj[i]+" "+yl[i]); if (i==0) { yulj+=yl[i]; g.drawLine(50,300-(int)(yl[i]/15*24),50,300-(int)(yl[i]/15.0*24)); spx=50+(int)(sj[i]/60.0*20.0); } else { yulj+=yl[i]; if ((50+(int)(sj[i]/60.0*20.0)-spx) > 20) { g.drawLine(spx,300-(int)((yulj-yl[i])/15.0*24.0), 30+(int)(sj[i]/60.0*20.0),300-(int)((yulj-yl[i])/15.0*24.0)); spx=30+(int)(sj[i]/60.0*20.0); g.drawLine(spx,300-(int)((yulj-yl[i])/15.0*24.0), 50+(int)(sj[i]/60.0*20.0),300-(int)(yulj/15.0*24.0)); // System.out.println(""+sj[i]+":" + "true"); } else { g.drawLine(spx,300-(int)((yulj-yl[i])/15.0*24.0), 50+(int)(sj[i]/60.0*20.0),300-(int)(yulj/15.0*24.0)); } spx=50+(int)(sj[i]/60.0*20.0); } } } public void getHt() throws SQLException { while(result.next()) { tt.addElement(result.getString("时间").toString()); ht.addElement(String.valueOf( result.getFloat("降雨量"))); } } private boolean execQuery(String sqlString) {//创建查询 try { //stmt = conn.createStatement(); stmt = conn.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY ); result = stmt.executeQuery(sqlString); return true; } catch(SQLException e) { System.out.println(e.toString()); return false; } } private void createConn(String driverName,String dbURL) {//建立连接 try { Class.forName(driverName); conn=DriverManager.getConnection(dbURL,userName,passWord); } catch(SQLException e) { e.printStackTrace(); } catch(ClassNotFoundException e) { e.printStackTrace(); } } public void destroy() { try { conn.close(); } catch(Exception e) { System.out.println(e.toString()); } }}class Czgk { String czbh; float kzmj; int[] shijian; float[] yuliang;}全部代码在此 期末大作业 高分求小程序呀 eclipse 操作问题 急!关于java的原始数据类型及其封装类 哪位大侠不吝赐教:用户的ADSL猫和电信局端之间传送的是PPP帧还是以太网帧? 正则表达式过滤大文件html注释 溢出,帮忙看下我的表达式怎么改才可以避免~!在线等 求解 数组定义为{}与null 有区别吗 请问在98系统下如何配置JDK ? 紧急求救SCJP考试问题!!急了! 如何实现窗口中拖放. 我的打榜宣言:1个月内挣足500分 如何控制float类型的小数位数?
import java.sql.*;
import java.awt.*;
import java.util.Vector;
import java.util.Date;
import java.text.*;
import javax.servlet.*;
import javax.servlet.http.*;import Acme.JPM.Encoders.*;public class SwxxYl_sqcb extends HttpServlet {
private Connection conn=null;
private Statement stmt=null;
private ResultSet result=null;
private Vector ht=new Vector(),tt=new Vector();
String driverName="sun.jdbc.odbc.JdbcOdbcDriver";
String dburl="jdbc:odbc:book";
String userName="sa";
String passWord="";
String sqlString=null;
String dt=null;
int czshu=0;//测站数
Czgk[] csxx; //测站概况表
int[] sjNew;
float[] tjYuLiang;
// int shijian[][];//时间
// float yuliang[][];//雨量
public void init(ServletConfig config)
throws ServletException
{
super.init(config);
}
public void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
ServletOutputStream out=res.getOutputStream();
Frame f=null;
Graphics g=null;
try {
if(conn==null || conn.isClosed()) {
userName=req.getParameter("userName");
if(userName==null) userName="sa"; passWord=req.getParameter("passWord");
if(passWord==null) passWord=""; createConn(driverName,dburl);
}
}catch (SQLException e) {
e.printStackTrace();
} tjgk();//统计概况表
dt=req.getParameter("dt");//取起始时间
if (!(dt.trim()).equalsIgnoreCase("null"))
{
System.out.println(dt);
dt=dt.trim();
}
else
{
dt="2000-12-2 16:00:00";
System.out.println(dt);
}
tjyl();//统计雨量表 String cznum=req.getParameter("cznum");//取测站编码
if (cznum==null) cznum="1";
createSql(cznum); try {
f=new Frame();
f.addNotify();
Image img=f.createImage(600,350);
g=img.getGraphics(); if (execQuery(sqlString)) {
// g.setFont(new Font("serif",Font.ITALIC,32));
drawXY(g);
drawQx(g);
}
else {
g.drawString("数据库创建失败!",200,150);
} res.setContentType("image/gif");
GifEncoder encoder=new GifEncoder(img,out);
encoder.encode(); if (result!=null) result.close();
if (stmt!=null) stmt.close();
}
catch(IOException e) {
e.printStackTrace();
}
catch(SQLException e) {
e.printStackTrace();
}
finally {
if(g!=null) g.dispose();
if(f!=null) f.removeNotify();
if (csxx!=null) csxx=null;
if (sjNew!=null) sjNew=null;
if (tjYuLiang!=null) tjYuLiang=null;
if(ht!=null) ht.removeAllElements();
if(tt!=null) tt.removeAllElements();
}
}
public void tjgk() {//统计概况表
sqlString="select * from 测站概况表";
if (execQuery(sqlString)) System.out.println("查询成功");
try {
result.last();
//while(result.next()) czshu++;
czshu=result.getRow();
if (czshu >0) {
csxx=new Czgk[czshu];
for(int ii=0;ii<czshu;ii++) csxx[ii]=new Czgk();
// shijian=new int[czshu][];
// yuliang=new float[czshu][];
}
System.out.println("" + czshu);
int i=0;
//result.close();
//stmt.close();
//if (execQuery(sqlString)) System.out.println("查询成功");
result.beforeFirst();
while(result.next()) {
csxx[i].czbh=result.getString("测站编码");//
csxx[i].kzmj=result.getFloat("控制面积");//
System.out.println(csxx[i].czbh + " " + csxx[i].kzmj);
i++;
}
result.close();
stmt.close();
}
catch(SQLException e) {
e.printStackTrace();
}
} public void tjyl() { //统计雨量表
for(int i=0;i<czshu;i++) {
System.out.println(csxx[i].czbh + " " + csxx[i].kzmj);
createSql(csxx[i].czbh);
execQuery(sqlString);
try {
result.last();
int recshu=result.getRow();
if (recshu >0) {
csxx[i].shijian=new int[recshu];
csxx[i].yuliang=new float[recshu];
}
/*else {//确保不是空指针
csxx[i].shijian=new int[1];
csxx[i].yuliang=new float[1];
}*/
if (recshu >0) {
int j=0;
result.first();
do {
csxx[i].shijian[j]=dstr(result.getString("时间"));
csxx[i].yuliang[j]=result.getFloat("降雨量");
System.out.println("" + csxx[i].shijian[j] + " " + csxx[i].yuliang[j]);
j++;
} while(result.next());
} result.close();
stmt.close();
}
catch(SQLException e) {
e.printStackTrace();
}
} } public void createSql(String cznum) {
//int years,months,dates,hours;
//日期格式
SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//解析位置
ParsePosition pos = new ParsePosition(0);
//产生Date对象
java.util.Date now = formatter.parse(dt, pos);
//间隔1天生成另一Date对象
long sj=now.getTime()+24*3600*1000;
java.util.Date now1 = new java.util.Date(sj); //产生查询字符串
sqlString="SELECT * FROM 时段为1小时降雨量表 where 时间 between '" +
formatter.format(now)+ "' and '" + formatter.format(now1) + "'";
sqlString=sqlString + "and 测站编码=" +cznum ; //System.out.println(sqlString);
} public void drawXY(Graphics g) {//坐标
g.drawRect(0,0,599,399);//原点:50,20,图像尺寸:600X400
g.drawLine(50,300,580,300);//x
g.drawLine(50,300,50,20);//y
g.drawString("时间t(h)",530,315);
g.drawString("降水量",5,35);
g.drawString("P(mm)",5,50);
//g.drawString(dt,130,100);
//dt表示起始时间
drawKD(g,24,dealstr(dt));
}
public int dealstr(String dt) {//返回小时数
if (dt!=null) {
SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ParsePosition pos = new ParsePosition(0);
java.util.Date currentTime_2 = formatter.parse(dt, pos);
return currentTime_2.getHours();
}
return 8;
}
public void drawKD(Graphics g,int num,int dt) { //画刻度
for(int i=1;i<num;i++) { //x
g.drawLine(50+i*20*(24/num),305,50+i*20*(24/num),295);
g.drawString(Integer.toString((i+dt)%num==0?num:(i+dt)%num),50+i*20*(24/num)-3,318);
} for(int i=1;i<=10;i++) { //y
g.drawLine(45,300-i*24,55,300-i*24);
g.drawString (Integer.toString(i*15),18,300-i*24+5);
}
}
public int dstr(String s) { //处理当前时间与初始时间的差值
SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ParsePosition pos = new ParsePosition(0);
//System.out.println(dt);
Date currentTime_2 = formatter.parse(dt, pos); //初始时间 pos = new ParsePosition(0);
//System.out.println(s);
Date currentTime_3 = formatter.parse(s, pos); //当前时间
long cha=currentTime_3.getTime()-currentTime_2.getTime();
return (int)(cha/60000);//转成分钟 }
public void drawQx(Graphics g) throws SQLException {
getHt();//把时间和雨量存入vector中
int size=tt.size();
//把时间和雨量存入数组中
int sjian[]=new int[size];
float yliang[]=new float[size];
//System.out.println("length:"+size); for(int i=0;i<size;i++) {
sjian[i]=dstr((String)tt.elementAt(i));
yliang[i]=Float.valueOf((String)ht.elementAt(i)).floatValue();
} g.setColor(Color.blue);
drawZft(g,sjian,yliang);//画直方图
drawJsLjx(g,sjian,yliang);//雨量累计线
shuzuConvert();
g.setColor(Color.red);
drawJsLjx(g,sjNew,tjYuLiang);//流域面降水累计线
}
public void shuzuConvert() {
int sjlen=0;
int sj[];
//取时间长度
// czshu=2;
for(int i=0;i<czshu;i++) {
if (csxx[i].shijian!=null) sjlen+=csxx[i].shijian.length;
}
System.out.println("sjlen:" + sjlen);
//时间一维化
sj=new int[sjlen];
int sjCount=0;
for(int i=0;i<czshu;i++) {
//System.out.println("i=" + i + " csxx[i]=" + csxx[i]);
if ( csxx[i].shijian!=null )
for(int j=0; j<csxx[i].shijian.length;j++) {
//System.out.println("j=" + j);
sj[sjCount++]=csxx[i].shijian[j];
}
}
//排序
int minValue=0;
for(int i=0;i<sj.length;i++) {
for(int j=i;j<sj.length;j++) {
if (sj[i]>sj[j]) {
minValue=sj[j];
sj[j]=sj[i];
sj[i]=minValue;
}
}
}
//去掉重复元素
//统计不同元素的个数
sjCount=sj.length;
for(int i=1;i<sj.length;i++)
if (sj[i]==sj[i-1]) sjCount--; sjNew=new int[sjCount];
int cnt=1;
for(int i=0;i<sj.length;i++) {
if (i==0) {
sjNew[i]=sj[i];
cnt=1;
}
else {
if (sj[i]!=sj[i-1]) sjNew[cnt++]=sj[i];
}
}
System.out.println("sjNew.length="+sjNew.length);
for(int i=0;i<sjNew.length;i++)
System.out.println(""+sjNew[i]);
//填充数据
//初始化数据
float[][] lsYuLiang;
lsYuLiang = new float[czshu][];
for(int i=0;i<czshu;i++) {
lsYuLiang[i]=new float[sjNew.length];
}
for(int i=0;i<czshu;i++) {
if (csxx[i].shijian!=null)
for (int j=0;j<csxx[i].shijian.length;j++) {
int col=chaZhi(csxx[i].shijian[j],sjNew);
if (col!=-1)
lsYuLiang[i][col]=csxx[i].yuliang[j];
}
}
//求权值系数
float[] qzxs=new float[czshu];
float totalArea=0;
for(int i=0;i<czshu;i++) totalArea+=csxx[i].kzmj;
for(int i=0;i<czshu;i++) {
qzxs[i]=csxx[i].kzmj/totalArea;
System.out.println("qzxs["+i+"]="+qzxs[i]);
}
//统计雨量值
tjYuLiang=new float[sjNew.length];
for(int j=0;j<sjNew.length;j++) {
for(int i=0;i<czshu;i++) tjYuLiang[j]+=lsYuLiang[i][j]*qzxs[i];
}
System.out.println();
for(int i=0;i<tjYuLiang.length;i++) {
System.out.println("tjYuLiang[" + i+"]="+tjYuLiang[i]);
}
}
public int chaZhi(int x,int[] y) {
for(int i=0;i<y.length;i++) {
if (x==y[i]) return i;
}
return -1;
}/* public void drawLyLjx(Graphics g) {//流域面降水累计线
g.setColor(Color.red);
}*/ public void drawZft(Graphics g,int[] sj,float[] yl) {//直方图
int spx=0;
System.out.println("length:"+sj.length);
for(int i=0;i<sj.length;i++) {
System.out.println(""+sj[i]+" "+yl[i]);
if (i==0) {
Polygon p=new Polygon();
p.addPoint(50,300);
p.addPoint(50,300-(int)(yl[i]/15*24));
p.addPoint(50+(int)(sj[i]/60.0*20.0),300-(int)(yl[i]/15*24));
p.addPoint(50+(int)(sj[i]/60.0*20.0),300);
p.addPoint(50,300);
g.fillPolygon(p);
spx=50+(int)(sj[i]/60.0*20.0);
}
else {
Polygon p=new Polygon();
if ((50+(int)(sj[i]/60.0*20.0)-spx) > 20) {
spx=30+(int)(sj[i]/60.0*20.0);
// System.out.println(""+sj[i]+":" + "true");
} p.addPoint(spx,300);
p.addPoint(spx,300-(int)(yl[i]/15*24));
p.addPoint(50+(int)(sj[i]/60.0*20.0),300-(int)(yl[i]/15*24));
p.addPoint(50+(int)(sj[i]/60.0*20.0),300);
p.addPoint(spx,300);
g.fillPolygon(p);
spx=50+(int)(sj[i]/60.0*20.0);
}
}
}
public void drawJsLjx(Graphics g,int[] sj,float[] yl) {//雨量累计线
float yulj=0;
int spx=0;
for(int i=0;i<sj.length;i++) {
//System.out.println(""+sj[i]+" "+yl[i]);
if (i==0) {
yulj+=yl[i];
g.drawLine(50,300-(int)(yl[i]/15*24),50,300-(int)(yl[i]/15.0*24));
spx=50+(int)(sj[i]/60.0*20.0);
}
else {
yulj+=yl[i];
if ((50+(int)(sj[i]/60.0*20.0)-spx) > 20) {
g.drawLine(spx,300-(int)((yulj-yl[i])/15.0*24.0),
30+(int)(sj[i]/60.0*20.0),300-(int)((yulj-yl[i])/15.0*24.0));
spx=30+(int)(sj[i]/60.0*20.0);
g.drawLine(spx,300-(int)((yulj-yl[i])/15.0*24.0),
50+(int)(sj[i]/60.0*20.0),300-(int)(yulj/15.0*24.0));
// System.out.println(""+sj[i]+":" + "true");
}
else {
g.drawLine(spx,300-(int)((yulj-yl[i])/15.0*24.0),
50+(int)(sj[i]/60.0*20.0),300-(int)(yulj/15.0*24.0));
} spx=50+(int)(sj[i]/60.0*20.0);
}
}
}
public void getHt() throws SQLException {
while(result.next()) {
tt.addElement(result.getString("时间").toString());
ht.addElement(String.valueOf( result.getFloat("降雨量")));
}
}
private boolean execQuery(String sqlString) {//创建查询
try {
//stmt = conn.createStatement();
stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY
); result = stmt.executeQuery(sqlString);
return true;
} catch(SQLException e) {
System.out.println(e.toString());
return false;
} }
private void createConn(String driverName,String dbURL) {//建立连接
try {
Class.forName(driverName);
conn=DriverManager.getConnection(dbURL,userName,passWord);
}
catch(SQLException e)
{
e.printStackTrace();
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
}
}
public void destroy() {
try {
conn.close();
}
catch(Exception e) {
System.out.println(e.toString());
}
}
}class Czgk {
String czbh;
float kzmj;
int[] shijian;
float[] yuliang;
}
全部代码在此