首页 > 解决方案 > 在Java中存储多个城市的最佳方法是什么?

问题描述

我必须编写一个找到最短距离的程序。我很难弄清楚存储我拥有的数据的最佳方式是什么。我有以下城市的有向图:旧金山、休斯顿、查尔斯顿、新奥尔良、巴吞鲁日、丹佛、匹兹堡、孟菲斯、拉斯维加斯、西雅图。下面列出的是城市的边缘和与城市的距离。所以从哥伦布到迈阿密是 61 英里。关于如何存储它的任何建议?

哥伦布 ---> 迈阿密:61,查尔斯顿:408,拉斯维加斯:689

迈阿密 ---> 旧金山:34,哥伦布:61

旧金山 ---> 迈阿密,休斯顿:485

休斯顿 ---> 旧金山,孟菲斯:63,丹佛:83

查尔斯顿 ---> 匹兹堡:36,孟菲斯:86,西雅图:933,哥伦布

标签: javastringmultidimensional-arraydirected-graphweighted-graph

解决方案


你有没有想过制作一个二维数组?将所有名称放在第一行和第一列中,例如String distance[8][8];,然后有点像乘法表,您可以手动输入距离值。之后,如果你想找到哥伦布和迈阿密之间的距离,你只需写:System.out.println(distance[Columbus][Miami]);

然而,这是一种非常基本的存储方式,因此如果您找到更全面的方式,例如制作 Cities 类,我建议您遵循它。作为一个小例子,你可以做一个

Public Class Cities() {
public String CityName;
public int distance; }

然后手动制作几个城市对象,以及设置它们到不同城市的距离。然后,如果您想找到从一个城市到另一个城市的距离,您可以使用自定义方法打印出各个城市的距离变量。


推荐阅读