📄 path.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 + -