题目存储在上传的文件当中。

  • 代码实现

Subway 类:

 package ClassroomTest;

 public class Subway {

     private String railway;
private String station[];
private String information; public String getRailway() {
return railway;
} public void setRailway(String railway) {
this.railway = railway;
} public String[] getStation() {
return station;
} public Subway() {
super();
this.railway = railway;
this.station = station;
this.information = information;
} public void setStation(String[] station) {
this.station = station;
} public String getInformation() {
return information;
} public void setInformation(String information) {
this.information = information;
} }

SubwayManger 类

 package ClassroomTest;
/*
* 信1805-2
* 20183547
* 崔星宇
*/
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Scanner; public class SubwayManager {
static Scanner sc=new Scanner(System.in); public static void main(String[] args) throws IOException {
Subway first=new Subway();
Subway third=new Subway();
String []b1=new String[30];
String []b2=new String[10];
File file=new File("D://百度网盘//shijiazhuang-subway.txt");
InputStream in=new FileInputStream(file); //实例化FileInputStream
byte b[]=new byte[1024];
int len=in.read(b);
in.read(b);
in.close(); //关闭输入流
String d=new String(b,0,len);
String[] words = d.split(" ");
first.setRailway(words[0]);
first.setInformation(words[21]);
int j=0;
for(int i=1;i<21;i++) {
b1[j++]=words[i];
}
third.setRailway(words[22]);
third.setInformation(words[29]);
j=0;
for(int i=23;i<29;i++) {
b2[j++]=words[i];
}
third.setStation(b2);
System.out.println("***************************************************************");
System.out.println(" 欢迎乘坐石家庄地铁 ");
System.out.println("****************************************************************");
System.out.println(" 1、 显示具体线路信息; ");
System.out.println(" 2、 购票 ");
System.out.println("****************************************************************");
int a;
sc=new Scanner(System.in);
a=sc.nextInt();
// 线路图
if(a==1) {
System.out.println("请选择需要查找的线路:");
System.out.println("0 :全部 ");
System.out.println("1:一号线 ");
System.out.println("2:三号线 ");
sc=new Scanner(System.in);
int b11=sc.nextInt();
System.out.println("***************************************************************");
System.out.println(" 石家庄地铁线路图 ");
System.out.println("***************************************************************");
int i=0;
j=0;
if(b11==1)
{ i=0;
System.out.print("1号线:");
while(b1[i]!=null) {
System.out.print(b1[i]+" ");
i++;
}
System.out.println();
}
/*else*/ if(b11==2) {
System.out.print("3号线:");
j=0;
while(b2[j]!=null) {
System.out.print(b2[j]+" ");
j++;
}
System.out.println();
}
if(b11!=1&&b11!=2){
System.out.println("1号线:");
i=0;
while(b1[i]!=null) {
System.out.print(b1[i]+" ");
i++;
}
System.out.println();
System.out.println("3号线:");
j=0;
while(b2[j]!=null) {
System.out.print(b2[j]+" ");
j++;
}
System.out.println();
}
System.out.println("***************************************************************");
}
//购票
else {
System.out.println("****************************************************************");
System.out.println(" 欢迎乘坐石家庄地铁 ");
System.out.println("****************************************************************");
System.out.println(" 起始站:");
System.out.println(" 终点站:");
System.out.println(" 购票数量:");
System.out.println("****************************************************************");
sc=new Scanner(System.in);
String a1=null;
String a2=null;
int number=0;
a1=sc.next();
a2=sc.next();
number=sc.nextInt();
int address1=0,address2=0;
int address3=0,address4=0;
int number1=0,number2=0;
int number3=0,number4=0;
int price=0;
int mail=0;
int i = 0;
int k1=0;
int k2=0;
while(b1[i]!=null) {
if(b1[i].compareTo(a1)==0) {
address1=i;
k1++;
}
if(b1[i].compareTo(a2)==0) {
address2=i;
k1++;
}
i++;
}
i=0;
while(b2[i]!=null) {
if(b2[i].compareTo(a1)==0) {
address3=i;
}
if(b2[i].compareTo(a2)==0) {
address4=i;
}
i++;
}
//全在一号线
if(k1==2) {
k2=Math.abs(address2-address1);
if(k2<=3) {
price=1;
}
else {
int k=0;
if(k2%3==0) {
k=0;
}else {
k=1;
}
price=k2/3+k;
}
if(address1>address2)
{
int temp=address1;
address1=address2;
address2=temp;
}
System.out.println("***************************************************************");
System.out.println(" 欢迎乘坐石家庄地铁 ");
System.out.println("****************************************************************");
System.out.println(k2+"站");
for(int i1=address1;i1<=address2;i1++) {
System.out.println(b1[i1]);
}
System.out.println("购票单价:"+price+"元");
System.out.println("购票金额:"+price*number+"元");
}
String station="新百广场";
//全在三号线 或者 一个在新百广场 一个在三号线 k1=1 一个站点在三号线上 另一个在新百广场或者一号线其他位置
if(k1==0||(k1==1&&(a1.compareTo(station)==0||a2.compareTo(station)==0))) {
k2=Math.abs(address3-address4);
if(k2<=3) {
price=1;
}else {
int k=0;
if(k2%3==0) {
k=0;
}else {
k=1;
}
price=k2/3+k;
}
if(address3>address4)
{
int temp=address3;
address3=address2;
address4=temp;
}
System.out.println("***************************************************************");
System.out.println(" 欢迎乘坐石家庄地铁 ");
System.out.println("****************************************************************");
System.out.println(k2+"站");
for(int i1=address3;i1<=address4;i1++) {
System.out.println(b2[i1]);
}
System.out.println("购票单价:"+price+"元");
System.out.println("购票金额:"+price*number+"元");
}
//换乘 一个在三号线且另一个不在新百广场
if(k1==1&&a1.compareTo(station)!=0&&a2.compareTo(station)!=0) {
if(address2!=0) {
address1=address2;
}
if(address4!=0) {
address3=address4;
}
int k21=0;
int k22=0;
k21=Math.abs(address1-14);
k22=Math.abs(address3-1);
k2=k21+k22;
if(k2<=3) {
price=1;
}else {
int k=0;
if(k2%3==0) {
k=0;
}else {
k=1;
}
price=k2/3+k;
}
System.out.println("***************************************************************");
System.out.println(" 欢迎乘坐石家庄地铁 ");
System.out.println("****************************************************************");
System.out.println(k2+"站");
if(address1<14) {
for(int i1=address1;i1<15;i1++)
System.out.println(b1[i1]);
}else {
for(int i1=address1;i1>13;i1--) {
System.out.println(b1[i1]);
}
}
System.out.println("(换乘站)");
if(address3<1) {
for(int i1=address3;i1<1;i1++) {
System.out.println(b2[i1]);
}
}else {
for(int i1=address3;i1>1;i1--) {
System.out.println(b2[i1]);
}
}
System.out.println("购票单价:"+price+"元");
System.out.println("购票金额:"+price*number+"元");
}
}
}
}

测试结果当只在一号线或者旨在三号线的时候没有问题,对于换线的情况,从左到右没有任何问题,如果顺序不按照从左到右,输出结果会出现混乱(顺序不正确),除此之外,在录入信息的时候会出现错误,没有解决。

  • 设计思路

该系统主要分为查询线路与订购车票两个功能,两个功能不会同时运行,即可同时分为两组情况,每种情况分别输出,对于线路查询没有问题,对于订购车票(并输出线路与价格,还有站点的计算问题),首先把简单的一条线路的情况写出来,除此之外,我认为

对于其中的特殊点换乘站点要去去除特殊化,将其平凡化处理,对于换乘路线要避免换乘点的重复相加。站点的计算不计算起始站点,记录下车站点。

2019.9.30极限测试 04.JAVA语言课堂测试试卷-极限测试的更多相关文章

  1. 【Java 语言生态篇】Junit 测试单元

    01 概述   JUnit是一个由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework).Junit测试是白盒测试.JUn ...

  2. JAVA语言课堂测试源代码及使用截图

    1源代码 第一部分 package 开学测试.java;class ScoreInformation {String stunumber;String name;double mathematicss ...

  3. 【JAVA基础】04 Java语言基础:方法

    1. 方法概述和格式说明 为什么要有方法 提高代码的复用性 什么是方法 完成特定功能的代码块. 方法的格式 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {     方法 ...

  4. JAVA语言课堂测试01源代码(学生成绩管理系统)

    package 考试; /*信1807-8 * 20183798 * 向瑜 */ import java.util.Scanner; //ScoreInformation 类 class ScoreI ...

  5. java语言课堂动手动脑

    1 运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是 ...

  6. Tars | 第3篇 Tars中期汇报测试文档(Java语言实现Subset路由规则)

    目录 前言 1. 任务介绍 2. 测试模拟方案 2.0 *前置工作 2.1 添加路由规则 2.2 添加存活节点 2.3 [输出]遍历输出当前存活节点 2.4 [核心]对存活节点按subset规则过滤 ...

  7. 【Java初探实例篇01】——Java语言基础

    示例系列,将对每节知识辅以实际代码示例,通过代码实际编写,来深入学习和巩固学习的知识点. IDE:intellij IDEA: 语言:Java 本次示例:Java语言基础知识的应用. 创建包day_4 ...

  8. 测试的Python、 Java语言之争

    现在测试行业如果不会开发语言的话是很难找到工作的,即使是一些功能测试的岗位也会要求代码语言作为技术储备,因为如果做自动化测试或者测试工具脚本开发或者接口测试等都离不开开发语言,那作为测试如果没有代码经 ...

  9. 2019 Android 高级面试题总结 从java语言到AIDL使用与原理

    说下你所知道的设计模式与使用场景 a.建造者模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 使用场景比如最常见的AlertDialog,拿我们开发过程中举例,比如C ...

随机推荐

  1. 什么是IPFS?IPFS与区块链有什么关系

    1.什么是IPFS? IPFS是Inter Planetary File System(星际文件系统)的缩写,是一个典型的点对点分布式文件系统, 旨在用同一个文件系统连接所有的计算设备.这时候有些小伙 ...

  2. tensorflow学习笔记(二)常量、变量、占位符、会话

    常量.变量.占位符.会话是tensorflow编程的基础也是最常用到的东西,tensorflow中定义的变量.常量都是tensor(张量)类型. 常量tf.constant() tensorflow中 ...

  3. Netty简单认识

    简介 Netty 是由JBOSS提供的一个 Java开源框架, 现在是 Github上的开源项目 Netty 是一个异步的.基于事件驱动的网络应用框架式, 用以快速开发高性能.高可靠性的网路IO程序 ...

  4. pyhton matplotlib可视化图像基础(二维函数图、柱状图、饼图、直方图以及折线图)

    //2019.07.22pyhton中matplotlib模块的应用pyhton中matplotlib是可视化图像库的第三方库,它可以实现图像的可视化,输出不同形式的图形1.可视化图形的输出和展示需要 ...

  5. 解析underscore中的throttle

    什么是throttle(节流) Throttling enforces a maximum number of times a function can be called over time. 简单 ...

  6. django-腾讯paas-appengine阅读

    1 重写View基类的dispatch函数 api/baseview.py 在一个post请求中,在header中,CONTENT_TYPE为application/json,然后在request.b ...

  7. jenkins + gitlab 快速搭建(docker-compose) 时间,时区 同步

    记录一下吧   算打一下 tag   最近在整得 swarm + jenkins 实现自动化部署 回滚 #构建jenkins 镜像 #dockerfile:      docker build -t  ...

  8. springBoot (适合ssm)

    很多小白在学ssm的时候,选用idea,网上应该有很多教程,创建maven项目,创建spring项目的都有,五花八门. 最近接触了springBoot,这个项目类型适用于ssm,还不用去创建很多文件夹 ...

  9. 第三节MapStruct翻译--Defining a mapper

    第三节MapStruct--Defining a mapper 在这一章节你将学到如何用mapstruct和它的一些必要的操作选项来定义一个bean mapper. 3.1 Basic mapping ...

  10. qt 中使用 c 语言文件

    qt 中直接使用 c 语言文件,c 文件可以直接包含,h 文件包含的时候,需要在 c++ 中添加额外信息,如下: #ifdef __cplusplus extern "C" { # ...