• 中国MOOC_面向对象程序设计——Java语言_第3周 对象容器_1查找里程


    第3周编程题

    返回
     

    第3周编程题。
    注意程序(包括注释)中不能出现汉字。

    依照学术诚信条款,我保证此作业是本人独立完成的。

    温馨提示:

    1.本次作业属于Online Judge题目,提交后由系统即时判分。

    2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩。

    1
    查找里程(10分)

    题目内容:

    题目内容:

    下图为国内主要城市之间的公路里程:

    你的程序要读入这样的一张表,然后,根据输入的两个城市的名称,给出这两个城市之间的里程。

    注意:任何两个城市之间的里程都已经给出,不需要计算经第三地中转。

    注意:你并不需要去录入上图的数据,数据是在程序输入中给的。

    输入格式:

    首先,你会读到若干个城市的名字。每个名字都只是一个英文单词,中间不含空格或其他符号。当读到名字为“###”(三个#号)时,表示城市名字输入结束,###并不是一个城市的名字。如果记读到的城市名字的数量为n。

    然后,你会读到nxn的一个整数矩阵。第一行的每一个数字,表示上述城市名单中第一个城市依次到另一个城市之间的里程。表中同一个城市之间的里程为0。

    最后,你会读到两个城市的名字。

    输出格式:

    输出这两个城市之间的距离。

    输入样例:

    Hagzou Hugzou Jigxng    ###

    0 1108 708

    1108 0 994

    708 994 0

    Hagzou    Jigxng

    输出样例:

    708

    时间限制:500ms内存限制:32000kb
    import java.util.ArrayList;
    import java.util.Scanner;
     
    public class Main {
        public static void main(String[] args) {
            City city = new City();
     
            city.setDistance();// 设置距离
     
            city.getDistance();// 输出这两个城市之间的距离。
        }
    }
     
    class City {
        public City() {
            city = new ArrayList<String>();
            String str = sc.next();// 首先,你会读到若干个城市的名字。每个名字都只是一个英文单词,中间不含空格或其他符号。当读到名字为“###”(三个#号)时,表示城市名字输入结束,###并不是一个城市的名字。如果记读到的城市名字的数量为n。
     
            while (true) {
                if (str.equals("###")) {
                    break;
                }
     
                if (str.equals("Huzhou")) {
                    str = "Suzhou";
                }
     
                city.add(str);
                str = sc.next();
            }
     
            distance = new int[city.size()][city.size()];
        }
     
        public void setDistance() {// 设置距离
            int mile = 0;
     
            for (int i = 0; i < distance.length; i++) {
                for (int j = 0; j < distance[i].length; j++) {
                    mile = sc.nextInt();// 然后,你会读到nxn的一个整数矩阵。第一行的每一个数字,表示上述城市名单中第一个城市依次到另一个城市之间的里程。表中同一个城市之间的里程为0。
                    distance[i][j] = mile;
                }
            }
        }
     
        public void getDistance() {// 输出这两个城市之间的距离。
            int int_start = city.indexOf(sc.next());
            int int_end = city.indexOf(sc.next());
     
            System.out.println(distance[int_start][int_end]);
        }
     
        private ArrayList<String> city;// 城市
        private int distance[][];// 距离
        Scanner sc = new Scanner(System.in);
    }
  • 相关阅读:
    四、MYSQL的数据类型
    一、InnoDB引擎
    Spring源码分析(一)
    ActiveMQ 的安装与使用(springboot版本)
    12、JAVA内存模型与线程
    9、虚拟机字节码执行引擎
    8、类加载机制
    7、Class文件的格式
    6、使用jconsole+VisualVM分析JVM
    5、JVM的监控与分析工具
  • 原文地址:https://www.cnblogs.com/suway/p/7866164.html
Copyright © 2020-2023  润新知