AJPFX:求两个城市之间的距离
键盘录入多个城市: 城市1,城市2,城市3 以 ### 结束输出
然后再键盘录入各个城市之间的距离: 格式如下:
0,12,45
12,0,22
45,22,0
###
然后按照输入的两个城市,求得两个城市之间的距离:城市1 城市2
代码如下:
package com.johnson.test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.Set;
public class Test3 {
/**
* @param args
*/
public static void main(String[] args) {
//存储两个城市的字符串 如 : 长沙 武汉
ArrayList<String> list = new ArrayList<String>();
//存储两个城市的字符串为键,距离为值 如 : 长沙 武汉,22
HashMap<String,Integer> cityDistance = new HashMap<String, Integer>();
Scanner sc = new Scanner(System.in);
System.out.println("请输入格式如下:城市1 城市2 城市3 ###");
String line;
while(true){
line = sc.nextLine();
if(line.endsWith("###")){
break;
}else{
System.out.println("请重输入:格式如下:城市1 城市2 城市3 ###");
}
}
//去除字符串后面的###号
line = line.substring(0,line.length()-3);
//将所有可能的城市组合存储在集合中
String[] arr = line.split(" ");
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length; j++) {
list.add(arr[i]+" "+arr[j]);
}
}
System.out.println("请输入城市之间的距离:格式如下:距离1 距离2 距离3");
String disString ;
//将list集合中的所有城市组合与输入的距离进行匹配,并存入到map集合中
int i = 0;
while(true){
disString = sc.nextLine();
if(disString.endsWith("###")){
break;
}else{
String[] dis = disString.split(" ");
for (int j = 0; j < dis.length; j++) {
//cityDistance.put(arr[i]+tm.get(arr[i]), Integer.parseInt(dis[j]));
cityDistance.put(list.get(i), Integer.parseInt(dis[j]));
i++;
}
}
}
//System.out.println(cityDistance);
System.out.println("请输入两个城市,格式:城市1 城市2");
b:for(;;){
String input = sc.nextLine();
if(input.equals("quit")){
break;
}
//遍历集合,查找是否存在键盘录入的两个城市
Set<Entry<String, Integer>> entrySet = cityDistance.entrySet();
a:for (Entry<String, Integer> en : entrySet) {
String key = en.getKey();
//如果存在,输出距离
if(input.equals(key)){
System.out.println(en.getValue());
break b;
} else{
//System.out.println("找不到距离");
continue a;
}
}
//如果遍历完之后,没有找到,则输出找不到距离
System.out.println("找不到距离");
}
}
}
AJPFX:求两个城市之间的距离的更多相关文章
- 高德地图 API 计算两个城市之间的距离
1. 目前在项目中,遇到一个需求不会做,就是要计算两个城市之间的距离,而这两个城市的输入是可变的,如果要使用数据库来先存储两地之间的距离,调用的时候再来调用,那么存数据的时候,要哭的,因为光是省级区域 ...
- 设计一个Mypoint类,求两个点之间的距离
package Test; public class test6 { public static void main(String[] args) { // TODO Auto-generated m ...
- IOS 计算两个经纬度之间的距离
IOS 计算两个经纬度之间的距离 一 丶 -(double)distanceBetweenOrderBy:(double) lat1 :(double) lat2 :(double) lng1 :(d ...
- js 求两个日期之间相差天数
//求两个日期之间的相差天数 function daysBetween(DateOne, DateTwo) { var OneMonth = DateOne.substring(5, DateOne. ...
- java如何计算两个经纬度之间的距离?
/*计算两个经纬度之间的距离 结果单位:米 */public static double getDistance(String lat1Str, String lng1Str, String lat2 ...
- PHP 求两个日期之间相差的天数、月数
<?php /** * 求两个日期之间相差的天数 * (针对1970年1月1日之后,求之前可以采用泰勒公式) * @param string $day1 * @param string $day ...
- Frogger POJ - 2253(求两个石头之间”所有通路中最长边中“的最小边)
题意 题目主要说的是,有两只青蛙,在两个石头上,他们之间也有一些石头,一只青蛙要想到达另一只青蛙所在地方,必须跳在石头上.题目中给出了两只青蛙的初始位置,以及剩余石头的位置,问一只青蛙到达另一只青 ...
- JavaScript求两个数字之间所有数字的和
这是在fcc上的中级算法中的第一题,拉出来的原因并不是因为有什么好说的,而是我刚看时以为是求两个数字的和, 很显然错了.我感觉自己的文字理解能力被严重鄙视了- -.故拉出来折腾折腾. 要求: 给你一个 ...
- PHP MYSQL 搜索周边坐标,并计算两个点之间的距离
搜索附近地点,例如,坐标(39.91, 116.37)附近500米内的人,首先算出“给定坐标附近500米”这个范围的坐标范围. 虽然它是个圆,但我们可以先求出该圆的外接正方形,然后拿正方形的经纬度范围 ...
随机推荐
- spring核心框架体系结构(各个jar包作用)
转自:https://blog.csdn.net/sunchen2012/article/details/53939253 弄懂spring就是弄懂spring各个jar包的作用 spring的jar ...
- GPS格式标准
GPS接收机串行通信标准摘要 参考NMEA-0183 美国国家海洋电子协会(NMEA—The NationalMarine Electronics Association) 为了在不同的GPS导航设备 ...
- 执行sql语句异常...需要的参数与提供的值个数不匹配
执行mysql语句时,出现以下错误时. 看错误提示,提示说你的sql语句只需要5个参数,而你提供了8个值value,你确定你确实需要8个参数,而你的sql语句却提示说只需要5个参数 这时,请仔细检查一 ...
- 【HDU2007】平方和与立方和
http://acm.hdu.edu.cn/showproblem.php?pid=2007 垃圾水题 随便搜了几个公式(但我实际写的暴力...题目保证不爆int,说明n,m<=10^3) 1^ ...
- codeforces 673C C. Bear and Colors(暴力)
题目链接: C. Bear and Colors time limit per test 2 seconds memory limit per test 256 megabytes input s ...
- Map集合的几种遍历方式
Map<String ,String> map=new HashMap<String,String>(); map.put("1","value1 ...
- struts2通用标签
Struts2框架为我们提供了很多标签,这些标签总体上可以分为两类:通用标签和UI标签.通用标签分为两类:数据标签和控制标签.数据标签用于访问值栈中数据,控制标签用于控制呈现页面时数据执行流程.使用S ...
- 如何给lemon开无限栈
进入终端 输入"ulimit -s unlimited" 输入"lemon" 把lemon源程序拖进来,接着在弹出的lemon界面上操作即可.
- Caused by: Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar
转自:https://blog.csdn.net/u011422744/article/details/39851693 在SSH开发,搭建环境的时候,启动tomcat服务器,就报这个异常! 信息: ...
- opencord视频截图
参考:https://www.youtube.com/watch?v=Teu9jK6GF6s