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

📄 path.java

📁 几年前写的一个公交查询系统
💻 JAVA
字号:
//path.java 
该类用于描述乘车路线方案。
import java.util.*;

public class Path 
{
  public Vector  pass_segment; //每一元素表示整个路线的一个路段Segment。
  int segmentTotal;  //需要的总路段数
  int stationTotal; //整条路线中,所经过的车站的总数

  public Path( Path path)
    {
      pass_segment=new Vector();
      this.pass_segment=path.pass_segment;
      this.segmentTotal=path.segmentTotal;
      this.stationTotal=path.stationTotal;
    }
  

  public  Path()
     {
       
         pass_segment=new Vector();
     }

  public void addSegment( Segment segment)
    {
        pass_segment.addElement( segment );
    }
  public void addSegment( String busNo)
    { 
       
       Segment segment=new Segment();
       segment.setBusNo( busNo);
       this.pass_segment.addElement( segment );
    }

  public void addSegment( Path path )
    {  

       for(int i=0; i<path.getSegmentTotal(); i++)
            {    
                    //System.out.println(" add segment with path "+i );
                    Segment segment;
                    segment=(Segment)( path.pass_segment.elementAt( i ));
                    //path.pass_segment
                    this.pass_segment.addElement( segment );
            }
    }

  public Path getpath()
    {
        return this;
    }
  public Vector getPass_segment()
    {
        return this.pass_segment;
    }
  public int getSegmentTotal()
    {
       segmentTotal=pass_segment.size();
       return segmentTotal;
       
    }


   public int getStationTotal()
    {  
        int segTotal=getSegmentTotal();
        int staTotal=0;
        Segment segment;
        for(int i=0; i<segTotal; i++)
             {
                segment=(Segment)(pass_segment.elementAt( i ));
                
                staTotal+=segment.getStationTotal();

             }
        stationTotal=staTotal;
       
       return stationTotal;
       
    }


  public void show()
    {  
       //System.out.println(" Path show  ");
       for(int i=0;  i<getSegmentTotal(); i++)
          {    
               //System.out.print(  " show of path" +i);
      
               Segment  segment=(Segment)(pass_segment.elementAt(i));
               
               segment.showSegment();
               
               System.out.println(" ");
          }
     
    }

  public String outputPath()
    {  
       String outData="";
       String nextSegment;
       for(int i=0;  i<getSegmentTotal(); i++)
            {    
               
      
               Segment  segment=(Segment)(pass_segment.elementAt(i));
               nextSegment=segment.outputSegment();
               if(i==0)
                   {
                         outData=outData+nextSegment;
                   }
                  else
                   {
                       outData=outData+"转"+nextSegment;
                   }
               
            }
        return outData;
     
    }

  public void setPassSegment(Station station,int stationNo, int segmentNo )
     {   
         // System.out.println(stationNo);
          
             
          Segment segment=new Segment();
          segment=(Segment)(pass_segment.elementAt( segmentNo ));
          segment.setPassStation(station,stationNo);
          
         
     }

  
  public void setPassSegment(String stationName,int stationNo, int segmentNo)
     {
          // System.out.println(stationNo);
          Segment segment=new Segment();
           //System.out.println("2"+segmentNo);
          segment=(Segment)(pass_segment.elementAt( segmentNo ));
           
          segment.addPassStation(stationName);
         
     }
}

⌨️ 快捷键说明

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