我的一个小程序的功能完善问题

原创 2017年01月03日 05:09:58
下面的程序是一个公交车的查询系统,但是我只是完成了直达车的查询,在实现转车的功能上出现了很大的问题,谁可以帮下我

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
import java.io.*;
import java.util.*;
import java.lang.*; 


public class RMS_BusQuery extends MIDlet
{
  private Display display ;

  private TextField startPoint ; //用于输入起始站
  private TextField endPoint ; //用于输入终点站

  //声明窗体
  private Form inputform ;
  private Form resultform;
  private Form detailform;

  //声明按钮
  private Command cmdOk ;
  private Command cmdHelp ;
  private Command cmdExit;
  private Command cmdBack ;
  private Command cmdDetail ;


  String[] useBus1;
  String[] useBus2;
  String lineDetail1;
  String lineDetail2;

  private Alert alert;
  private Ticker ticker ;

  //声明两个向量
  private Vector busFilter1 = new Vector();
  private Vector busFilter2 = new Vector();


  //声明ChoiceGroup
  ChoiceGroup b1;
  ChoiceGroup b2;

  int busNumber1 ; //直达车的数量
  int busNumber2 ; //转乘车的数量


  //定义记录存储的\"字段\"
  String busNo; //车次
  String busType;//车的类型:大巴、中巴、小巴
  String startStation;//起点站
  String endStation;//终点站
  String busLine;//线路

  static final String rsName = "BUS"; //记录存储的名字
  RecordStore rs = null ;


  //构造函数
  public RMS_BusQuery()
  {
    display = Display.getDisplay(this);
    ticker = new Ticker("深圳乘车通 provided by pauline,email:paulineloverose@163.com");
    startPoint = new TextField("上车站","火车站",10,0);
    endPoint = new TextField("下车站","市政府",10,0);

    //定义按钮
    cmdOk = new Command("确定",Command.SCREEN,1);
    cmdHelp = new Command("帮助",Command.SCREEN,2);
    cmdExit = new Command("退出",Command.SCREEN,3);
    cmdBack = new Command("返回",Command.BACK,1);
    cmdDetail = new Command("查看",Command.SCREEN,2);

    //定义输入窗体inputform
    inputform = new Form("请输入:");
    inputform.append(startPoint);
    inputform.append(endPoint);
    inputform.setTicker(ticker);
    inputform.addCommand(cmdOk);
    inputform.addCommand(cmdHelp);
    inputform.addCommand(cmdExit);
    inputform.setCommandListener(new Listener1());

    //定义结果窗体resultform
    resultform = new Form("可乘坐下面的公车到目的地");
    resultform.addCommand(cmdBack);
    resultform.addCommand(cmdDetail);
    resultform.addCommand(cmdExit);
    resultform.setCommandListener(new Listener2());


    //定义详细窗体detailform
    detailform = new Form("此路车经过下列站");
    detailform.addCommand(cmdBack);
    detailform.addCommand(cmdExit);
    detailform.setCommandListener(new Listener3());


    //定义Alert
    Image img = null;
    try{
      img = Image.createImage("/catchbus.png");
    }catch(IOException e) {
      System.out.println("Error when set image");
    }

    alert = new Alert("Welcome",null,img,AlertType.INFO);
    alert.setTimeout(2000);

    //删除旧的记录存储
    try{
      RecordStore.deleteRecordStore(rsName);
    }catch(Exception e){
    }

    //生产一个新的记录存储BUS
    try{
      rs = RecordStore.openRecordStore(rsName,true);
      if(rs.getNumRecords() == 0)
      _addAllRecords(); //添加所有的记录
    }catch(Exception e)
    {
    }
  }



  public void startApp() {
    display.setCurrent(alert,inputform);

  }


  public void pauseApp() {}
  public void destroyApp(boolean unconditional) {}


  //事件监听器listener1
  class Listener1 implements CommandListener {
    public void commandAction(Command c,Displayable d) {
      if (c == cmdExit){
          destroyApp(false);
          notifyDestroyed();
      }

      if(c == cmdOk){
          try{
            int resultformSize = resultform.size();
            if(resultformSize > 0){
            for(int i=0; i<resultformSize; i++)
              resultform.delete(i);
            }
          }catch(Exception e){
          }

          String s1 = startPoint.getString();
          String s2 = endPoint.getString();
          try{
            int lastID = rs.getNextRecordID();
            for (int i = 1; i< lastID; i++) {
              byte[] data = rs.getRecord(i);
              _decode(data);
              int j = busLine.indexOf(s1);
              int k = busLine.indexOf(s2);
              if(j != -1 && k != -1){
                  busFilter1.addElement(busNo+"路"+busType); //有直达车
              }
              else if(k != -1 ){
                  busFilter2.addElement(busNo+"路"+busType); //有转乘车
              }
            }
              busNumber1 = busFilter1.size(); //直达车的数量
              busNumber2 = busFilter2.size(); //转乘车的数量

          if(busNumber1 > 0){
            useBus1 = new String[busNumber1];
            for(int i=0; i<busNumber1; i++){
              useBus1[i] = (String)busFilter1.elementAt(i);
            }
            b1 = new ChoiceGroup("",ChoiceGroup.EXCLUSIVE,useBus1,null);
            resultform.append(b1);
          }
          //没有直达车,但有转乘车
          else if(busNumber2 > 0){
            useBus2 = new String[busNumber2];
            for(int j = 0; j < busNumber2; j++ ){
              useBus2[j] = (String)busFilter2.elementAt(j);
            }
            b2 = new ChoiceGroup("",ChoiceGroup.EXCLUSIVE,useBus2,null);
            resultform.append("对不起,没有直达车,但下面的车次经过你输入的下车站:");
            resultform.append(b2);
          }
          //如果没有直达车,也没转乘车
          else{
            resultform.append("对不起,没有直达车和转乘车经过您输入的起始站");
          }

          }catch(Exception e){
          }
          busFilter1.removeAllElements();
          busFilter2.removeAllElements();
          display.setCurrent(resultform);
      }
    }
  }




我的第一个微信小程序

1. 前言牛客网第三期编程作业是体验下微信小程序的编写, 由于本菜鸟对前端这块理解并不深入,整起来比较费劲, 突然想到一个idea, 顺手简单实现一下, 基本效果如下: 2. 参考资料很快论坛 官...
  • zhyh1435589631
  • zhyh1435589631
  • 2016年11月13日 16:34
  • 1011

【微信小程序 三】用户界面

前端 在app.json中加入以下代码,实现tabBar的导航菜单栏的功能 "tabBar": { "backgroundColor": "#318EE2", "color": "#...
  • xbw12138
  • xbw12138
  • 2017年07月16日 23:29
  • 871

创建第一个小程序hello world!

创建小程序实例 点击开发者工具左侧导航的“编辑”,我们可以看到这个项目,已经初始化并包含了一些简单的代码文件。最关键也是必不可少的,是 app.js、app.json、app.wxss 这三个。...
  • zhangchu108
  • zhangchu108
  • 2017年04月28日 11:01
  • 431

微信小程序开发中遇到的问题。总结

开发遇到问题: 1.image设置图片的时候图片在开发工具上面显示,可是运行到手机上面不显示。仔细查看是不是先图片的时候。设置路径不小心在后面加了空格。 例如: 正确:手机上显示 错误:手机上不...
  • liu13722785488
  • liu13722785488
  • 2017年02月10日 14:49
  • 2347

我的深度学习之helloworld小程序

keras的hello world小程序
  • csdnyixing
  • csdnyixing
  • 2017年09月08日 16:21
  • 217

做了4个微信小程序后,我总结了一个快速开发流程

小程序在2017年1月9号全量发布,楼主团队在10月份开始着手研究小程序官网文档,12月初团队的第一个小程序项目—“王者荣耀赛事小程序”项目需求正式立项,12月20日第一个成型的版本制作完毕,以下开发...
  • zgmu
  • zgmu
  • 2017年08月28日 16:18
  • 337

一些面试程序题目的小程序

1、求出两个整形数的最在公约数和最小公倍数。 代码如下 : package test; import java.util.Scanner; public class Test {   public s...
  • gaozhichao_dy
  • gaozhichao_dy
  • 2014年03月13日 16:05
  • 1071

包你懂我答题包小程序软件

包你懂我答题包小程序软件《苏134-1619-5045》包你懂我小程序软件开发,胡撩—包你懂我模式小程序软件。 包你懂我原名是一款叫做胡撩的软件,这款软件上架微信小程序改名为包你懂我,软件操作非...
  • swl1213
  • swl1213
  • 2018年01月26日 17:30
  • 185

Fastjson是一个Java语言编写的高性能功能完善的JSON库。

地址
  • llwan
  • llwan
  • 2016年01月06日 17:25
  • 319

微信小程序实战篇-个人中心、订单制作

哈喽,大家好,又到周五啦,有木有期待今天的更新呀~今天要教大家的是制作个人中心界面,先上效果图 个人中心制作 1. mine.js // pages/mine/mine.js var app ...
  • rolan1993
  • rolan1993
  • 2017年08月09日 14:32
  • 3809
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我的一个小程序的功能完善问题
举报原因:
原因补充:

(最多只允许输入30个字)