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

  • 代码实现

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. linux 常用文件命令记录

    服务开启命令 service  服务  start/stop/stauts 查看ip ifconfig 清屏 clear 显示当前所在位置 pwd 切换目录 cd 查看所有文件(包括隐藏) ls -a ...

  2. 014.Delphi插件之QPlugins,MDI窗口

    不知道为什么,这个DEMO编译出来报错,运行不了,在QDAC群里问了一下也没人响应. 效果如下 主程序代码如下 unit Frm_Main; interface uses Winapi.Windows ...

  3. C#最小化到托盘+双击托盘恢复+禁止运行多个该程序

    托盘程序的制作: 1.添加notifyIcon控件,并添加Icon,否则托盘没有图标(托盘右键菜单也可直接在属性里添加):2.响应Form的Resize或SizeChanged消息: // Hide ...

  4. oracle job不运行,定位问题

    一. job的运行频率设置 1.每天固定时间运行,比如早上8:10分钟:Trunc(Sysdate+1) + (8*60+10)/24*60 2.Toad中提供的: 每天:trunc(sysdate+ ...

  5. C++获取文件夹中所有文件

    获取文件夹中的文件,用到过很多次,每次用的时候都要去查下,很烦,所以想自己写下,当然,借鉴了很多其他大佬的博客 主要实现的函数,如下: void getFiles( string path, vect ...

  6. HTTP和HTTPS的区别及HTTPS加密算法

    一.HTTP和HTTPS的概念              HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传 ...

  7. 洛谷 三月月赛 B

    搞出每一位与前一位的差,然后区间修改只是会影响区间的端点,所以只修改一下端点的值就好. %%%高一神犇线段树 #include<bits/stdc++.h> #define N 10000 ...

  8. redis报错MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist

    解决方法:通过redis-cli连接到服务器后执行以下命令: config set stop-writes-on-bgsave-error no 注意:这种方法只是忽略了问题,并没有解决问题,具体问题 ...

  9. NumPy 矩阵库函数

    章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切 ...

  10. assert和hasattr,getattr,setattr

    assert hasattr(self, 'initial_data'), ( 'Cannot call `.is_valid()` as no `data=` keyword argument wa ...