Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';无法访问我的阵列_Java_Arrays - Fatal编程技术网

Java Can';无法访问我的阵列

Java Can';无法访问我的阵列,java,arrays,Java,Arrays,我的程序是使用Java创建一个火车路线查找器,首先作为命令行程序,然后转换成GUI。这是我目前最不担心的事。目前,我的系统有一个功能,那就是显示用户先前输入的两个站点之间的站点列表 现在,我已经能够提示用户选择他们的站点(代码中的第3149-3171行): 因为这些站点将与用户选择的deptChoice==1(车站1=Leicester)到arrChoice==2(车站2=Loughborough)相对应 我希望这是清楚的: 我基本上希望用户输入的站点数组在选择列车路线时重新出现 这里是我用No

我的程序是使用Java创建一个火车路线查找器,首先作为命令行程序,然后转换成GUI。这是我目前最不担心的事。目前,我的系统有一个功能,那就是显示用户先前输入的两个站点之间的站点列表

现在,我已经能够提示用户选择他们的站点(代码中的第3149-3171行):

因为这些站点将与用户选择的deptChoice==1(车站1=Leicester)到arrChoice==2(车站2=Loughborough)相对应

我希望这是清楚的:

我基本上希望用户输入的站点数组在选择列车路线时重新出现

这里是我用Notepad++编写的完整代码,我想你们最好能看到我所有的代码,而不是小片段,并对其进行注释

此外,为了理解我的问题,请运行我的程序。要了解我的问题,请执行以下操作:

1) 编译Train.java(javac Train.java)

2) 运行程序(java列车)

3) 选择管理菜单(5号)

4) 拾取输入菜单(1号)

5) 选择任意两个电台

6) 进入几站,直到你满意为止

7) 当它显示这两个电台的最后一站时,节目似乎结束了,希望这不是一个问题

8) 再次运行程序(java Train)

9) 选择列车路线(3号)

10) 按照与之前相同的顺序选择相同的电台,这样它就会找到您刚才制作的阵列

11) 现在什么都不会发生,因为,那是我的问题。我不知道如何重新获得我为它制作的阵列

下载指向my Train.java文件的链接(以及Train.txt文件,如果需要):


有什么建议吗?

第二段代码的位置是什么?(您说您需要访问的代码是
列表stopList1\u 2

1如果它在同一个类中但在不同的方法中,则

动议这项声明
List stopList1_2=new ArrayList()(当前在您的第一个代码块中)到类字段

但是

2如果它与第一个代码块在同一个类中,也在同一个方法中,那么

动议这项声明
List stopList1_2=new ArrayList()(当前在代码的
if
语句中)到
if
条件之外


但要把这当作解决你手头问题的快捷方法。更重要的是,请阅读。

请在问题中以格式化的代码块直接发布您的代码。(虽然在这种情况下,并不是所有3000多行。也许可以先把它分开?这太长了。)我很欣赏你在这个问题上的努力,但你需要改进它才能得到好的答案。你需要一个简洁而有效的问题描述。你想最小化回答的障碍。
我的代码中的第3149-3171行
天哪。你的代码有多长?我想在你做任何事情之前,先要模块化你的代码。你的代码应该读起来像英语。写你的main,就好像你有任何有效的方法一样。然后在完成之后,开始以同样的方式编写这些方法。然后写出他们使用的所有方法。最后你会有一些方法,包含非常丰富的逻辑,你的大部分代码都是可读的。然后发现这些问题就变得容易多了。“8)再次运行程序”——您是否希望数据结构在程序的后续运行中仍然存在?没有将其保存在文件或数据库中?好的,但是如何在代码的不同部分返回数组?
if(deptChoice == 1 && arrChoice == 2){

    List<String> stopList1_2 = new ArrayList<String>();
    Scanner stopPick = new Scanner(System.in);
    stopPick.useDelimiter(System.getProperty("line.separator"));

    do {
        System.out.println("\nCurrent list of stops between Leicester to Loughborough is:\n\n" + stopList1_2);
        System.out.println("\nWould you like to add a new stop? (Please enter 'Yes' or 'No')\n");

        if (stopPick.next().startsWith("Yes")) {
            System.out.println("\nPlease type in the stop you wish to add to the route:\n");
            stopList1_2.add(stopPick.next());
        }

        else {
            break;
        }

    } while (true);

    String[] stopArr1_2 = stopList1_2.toArray(new String[0]);
    System.out.println("\nCurrent stops between Leicester to Loughborough is:\n\n" + Arrays.toString(stopArr1_2));

}
if(deptChoice == 1 && arrChoice == 2){
    System.out.println(""); //this should be where I call the array back to display itself
}