首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

急 100分解决方法

2012-01-07 
急!急!急!急! 100分刚学JSP,有个JAVA程序想改成JAVABEAN形式,不知道怎么做,JAVA程序如下:(给出思路也可以)

急!急!急!急! 100分
刚学JSP,有个JAVA程序想改成JAVABEAN形式,不知道怎么做,JAVA程序如下:
(给出思路也可以)谢谢!

import   java.sql.*;
public   class   Dijkstra
{
        int   StaNum;
        int   EndNum;
        double     distance[]=new   double[162];
        int   i=0;
        int   a[]=new   int[410];
        intb[]=new   int[410];
        String   c[]=new   String[410];
        String   d[]=new   String[410];
        float     l[]=new   float[410];
        float   leng[][]=new   float[162][162];
        String   direct[][]=new   String[162][162];
        String   name[][]=new   String[162][162];         //路名

int   pre[]=new   int[162];

int     Choose   (int   ps,int   pe)
{
      StaNum=ps;
      EndNum=pe;
      return   0;
}
double     FindShortest()
  {
   
        for(int   i=0;i <162;i++)
        {
        distance[i]=leng[StaNum][i];
        if(distance[i]==100.0)       pre[i]=-1;
        else   pre[i]=StaNum;
        }
       
        leng[StaNum][StaNum]=1;
   
        int   p=-1;
        while(true)
        {
      double   min=200.0;
      p=-1;
      for(int   i=0;i <162;i++)
      {
              if(leng[i][i]==0&&distance[i] <min)
            {
          p=i;
          min=distance[i];
            }
      }
      if(p==-1)
      {
            System.out.print( "所输入结点到源结点没有路径!! ");
            return   0;
      }
      leng[p][p]=1;

              for(i=0;i <162;i++)
             
      {
       
            if(leng[i][i]==0&&distance[i]> distance[p]+leng[p][i])
              {
                    distance[i]=distance[p]+leng[p][i];
                    pre[i]=p;
              }
      }
      if(p==EndNum)
      return   min;

          }
    }
void   db()
{
String   strurl= "jdbc:odbc:taxi ";


try{

for(int   m=0;m <162;m++)
      for(int   n=0;n <162;n++)
        {
              if(m==n)
                  leng[n][m]=0;
              else              
            leng[m][n]=50;
        }

ResultSet   rs;

Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
Connection   conn=DriverManager.getConnection(strurl);
PreparedStatement   ps=conn.prepareStatement( "select   *   from   road ");
rs=ps.executeQuery();
System.out.println( "ok ");
i=0;
while(rs.next())
{
a[i]=Integer.parseInt(rs.getString( "start "));    
b[i]=Integer.parseInt(rs.getString( "finish "));
c[i]=rs.getString( "r_name ");
d[i]=rs.getString( "direct ");
l[i]=Float.parseFloat(rs.getString( "r_length "));

leng[a[i]][b[i]]=l[i];
name[a[i]][b[i]]=c[i];
direct[a[i]][b[i]]=d[i];
i++;
}

rs.close();  
conn.close();  
}catch(Exception   e)
{
System.out.println(e);
}

}


int   PrintLine   ()
{
    System.out.print( "所选结点到源结点的最短路径的序列是: ");
    int   p=EndNum;
      System.out.println(EndNum);
 
    do
    {  
    System.out.println(pre[p]);
    p=pre[p];
    }while(p!=1);
    return   0;
}  

public   static   void   main(String   args[])
{

        Dijkstra   d=new   Dijkstra();
        d.db();
        d.Choose(1,60);
        double   s=   d.FindShortest();
        System.out.println( "最短路径的长是 "+s);
        int   t=d.PrintLine();
}
}


[解决办法]


你把所有的属性和方法都改成static的 就可以了

反正你只是一个最短路径的算法 对吧


[解决办法]
所谓的javabean不就是一个java嘛。

对所有变量都有一个set和一个get的public函数,就是了。

例如:
public class FuckBoss
{
private String boss_girlfriend;

public void setBossGirlfriend(String boss_girlfriend)
{
this.boss_girlfriend=boss_girlfriend;
}
public String getBossGirlfriend()
{
return boss_girlfriend;
}

}


ps:
对于你定义的:
int a[]=new int[410];
intb[]=new int[410];
为什么写死是410?你确定数据库里的记录就是少于等于410?如果多于410你的程序就出错了。

[解决办法]
所有要用到的变量都初始化,再加个SET,GET方法
[解决办法]
JAVABEAN应该是jsp调用的吧,你的jsp页面呢。
[解决办法]
添加get、set方法。其他无所谓了。
[解决办法]
学习
int a[]=new int[410]; 推荐用集合,
------解决方案--------------------


专门写一个bean
写上get set 方法。
然后在联系在一块
[解决办法]
bean就是有set get方法,哈哈
[解决办法]
属性私有
[解决办法]
一楼已经回答了 不加其他方法的话改成static 要不加入 SET 和GET方法
[解决办法]
你找一个jsp+servlet+javabean的项目看看就知道怎么弄了。!

热点排行