java - 在Java中存储多个城市的最佳方法是什么?
问题描述
我必须编写一个找到最短距离的程序。我很难弄清楚存储我拥有的数据的最佳方式是什么。我有以下城市的有向图:旧金山、休斯顿、查尔斯顿、新奥尔良、巴吞鲁日、丹佛、匹兹堡、孟菲斯、拉斯维加斯、西雅图。下面列出的是城市的边缘和与城市的距离。所以从哥伦布到迈阿密是 61 英里。关于如何存储它的任何建议?
哥伦布 ---> 迈阿密:61,查尔斯顿:408,拉斯维加斯:689
迈阿密 ---> 旧金山:34,哥伦布:61
旧金山 ---> 迈阿密,休斯顿:485
休斯顿 ---> 旧金山,孟菲斯:63,丹佛:83
查尔斯顿 ---> 匹兹堡:36,孟菲斯:86,西雅图:933,哥伦布
解决方案
你有没有想过制作一个二维数组?将所有名称放在第一行和第一列中,例如String distance[8][8];
,然后有点像乘法表,您可以手动输入距离值。之后,如果你想找到哥伦布和迈阿密之间的距离,你只需写:System.out.println(distance[Columbus][Miami]);
然而,这是一种非常基本的存储方式,因此如果您找到更全面的方式,例如制作 Cities 类,我建议您遵循它。作为一个小例子,你可以做一个
Public Class Cities() {
public String CityName;
public int distance; }
然后手动制作几个城市对象,以及设置它们到不同城市的距离。然后,如果您想找到从一个城市到另一个城市的距离,您可以使用自定义方法打印出各个城市的距离变量。
推荐阅读
- javascript - 无法覆盖 JavaScript 变量
- android - 如何在手机中构建颤振 Apk?
- django - 在外部 JavaScript 文件中使用 django 模板变量
- java - 即使Java中List中对象的顺序发生变化,如何保持相同的哈希码?
- php - PHP - JSON:解码 json 给出 null
- django - 如何将字段添加到现有模型
- python - ImportError:没有名为 websocket 的模块
- optimization - 优化数据获取
- php - 根据贝宝中的发送方/接收方交易 ID 检索接收方交易详情
- sql - 数据源表不支持 LOAD DATA