*8.21(中心城市)给定一组城市,中心城市是和其它所有城市具有最短距离的城市。编写一个程序,提示用户输入城市数目以及位置(坐标),找到中心城市以及与其他城市总距离
题目
题目描述与运行示例
*8.21(中心城市)给定一组城市,中心城市是和其它所有城市具有最短距离的城市。编写一个程序,提示用户输入城市数目以及位置(坐标),找到中心城市以及与其他城市总距离
下面是一组运行示例:
Enter the number of cities: 5
Enter the coordinates of the cities:
2.5 5 5.1 3 1 9 5.4 55 5.5 2.1
The central cith is at (2.5, 5.0)
The total distance to all other cities is 60.81
破题
- 主方法:输出提示语句
- 主方法:从控制台获取城市数量cities
- 主方法:声明一个double型二维数组loc,长度为cities * 2
- 主方法:输出提示语句
- 主方法:使用循环从控制台获取城市坐标
- 主方法:调用寻找中心城市的方法,传入loc数组,返回int型(中心城市下标/loc行下标)
- 主方法:输出中心城市坐标
- 主方法:调用求某个城市与其他所有城市距离和的方法,传入loc数组、指定的城市下标(loc行下标),返回距离值
- 主方法:输出距离值
- 寻找中心城市方法:传入double型二维数组、返回int型
- 寻找中心城市方法:声明一个一维数组,长度为传入的二维数组长-1
- 寻找中心城市方法:遍历二维数组行下标,调用求某个城市与其他所有城市距离和的方法并传入loc数组与行下标,赋值给刚刚声明的一维数组
- 寻找中心城市方法:找一维数组最小值下标
- 寻找中心城市方法:返回该下标
- 求某个城市与其他所有城市距离和的方法:新建一个double型对象sum以保存和
- 求某个城市与其他所有城市距离和的方法:遍历传入的二维数组,求被遍历的元素与指定下标元素之间的距离,并与sum相加
- 求某个城市与其他所有城市距离和的方法:返回sum
代码
import java.util.Scanner;
public class Test8_21 {
public static void main(String[] args) {
//1. 主方法:输出提示语句
System.out.print("Enter the number of cities: ");
//2. 主方法:从