用JAVA语言对公交路线的查询的主要代码
时间: 2023-03-19 20:21:52 浏览: 62
以下是使用JAVA语言编写公交路线查询的主要代码:
1. 导入必要的包和类
```
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
```
2. 定义一个类表示公交站点
```
class BusStop {
String name; // 站点名称
List<BusLine> lines; // 经过该站点的公交线路
BusStop(String name) {
this.name = name;
this.lines = new ArrayList<BusLine>();
}
void addLine(BusLine line) {
this.lines.add(line);
}
}
```
3. 定义一个类表示公交线路
```
class BusLine {
String name; // 线路名称
List<BusStop> stops; // 线路经过的站点
BusLine(String name) {
this.name = name;
this.stops = new ArrayList<BusStop>();
}
void addStop(BusStop stop) {
this.stops.add(stop);
stop.addLine(this);
}
}
```
4. 定义一个类表示公交路线查询系统
```
class BusRoute {
Map<String, BusStop> stops; // 所有公交站点的集合
BusRoute() {
this.stops = new HashMap<String, BusStop>();
}
void addStop(String name) {
if (!stops.containsKey(name)) {
stops.put(name, new BusStop(name));
}
}
void addLine(String name, String[] stops) {
BusLine line = new BusLine(name);
for (String stop : stops) {
addStop(stop);
line.addStop(stops.get(stop));
}
}
List<BusLine> search(String name) {
List<BusLine> result = new ArrayList<BusLine>();
if (stops.containsKey(name)) {
BusStop stop = stops.get(name);
result.addAll(stop.lines);
}
return result;
}
}
```
5. 在主程序中使用BusRoute类进行公交路线查询
```
public static void main(String[] args) {
BusRoute route = new BusRoute();
route.addStop("A");
route.addStop("B");
route.addStop("C");
route.addStop("D");
route.addLine("1", new String[]{"A", "B", "C", "D"});
route.addLine("2", new String[]{"A", "B", "D"});
List<BusLine> lines = route.search("B");
for (BusLine line : lines) {
System.out.println(line.name);
}
}
```
以上代码实现了简单的公交路线查询功能,用户可以输入站点名称,程序会返回经过该站点的公交线路。