Java 方法在变量更改时保留旧参数

Java 方法在变量更改时保留旧参数,java,Java,在我的代码中,我有一个actionperformed,在它里面我调用了一个带参数的方法。问题是当我调用该方法时。当actionperformed第一次执行时,它采用了正确的参数,然后当actionperformed第二次执行时,方法头中使用的变量发生了变化,但该方法保留了旧参数,我找不到如何修复它 以下是方法代码: protected int searchString(int j, String str, String[][] B) { int exist = -1;

在我的代码中,我有一个actionperformed,在它里面我调用了一个带参数的方法。问题是当我调用该方法时。当actionperformed第一次执行时,它采用了正确的参数,然后当actionperformed第二次执行时,方法头中使用的变量发生了变化,但该方法保留了旧参数,我找不到如何修复它

以下是方法代码:

    protected int searchString(int j, String str, String[][] B) {
    int exist = -1;

        for (int i = 0; i < B[B.length - 1].length; i++) {
            if (B[j][i].equals(str)) {
                exist = i;
                search = true;
                System.out.println(B[j][i]);
            }
        }
    System.out.println(search);
    return exist;

}

该方法不可能保持相同的参数。可能发生的情况是,第一个条件总是求值为true,这导致使用底层块中的参数调用方法。

这是我在控制台中得到的结果:

D:\Downloads\UO DPU usage(03112015 1540)_20150311_154036.xls
D:\Downloads\UO DPU usage(03112015 1540)_20150311_154036.xls
reading..
D:\Downloads\UO DPU usage(03112015 1540)_20150311_154036.xls
false
VS.DPU.CPULOAD.MEAN (%)
true
true
D:\Downloads\UO CPU usage(03112015 1541)_20150311_154121.xls
D:\Downloads\UO CPU usage(03112015 1541)_20150311_154121.xls
reading..
D:\Downloads\UO CPU usage(03112015 1541)_20150311_154121.xls
false
VS.DPU.CPULOAD.MEAN (%)
true
true

文件路径也会发生更改,但当我调用searchString时,它会影响变量搜索的true,而字符串“VS.DPU.CPULOAD.MEAN(%)”不包含在第二个文件中。

我猜您在第一次匹配后没有将变量
搜索
重置回false?至少您提供的代码段似乎是这样。

您是否尝试过记录actionPerformed方法中的值?如果是,结果如何?欢迎来到StackOverflow!你一定要看报纸。另外,尝试改进代码格式。请在@PatriciaShanahan上阅读更多内容,谢谢您的回答,但我不明白您所说的。@ericbn谢谢,我会尝试。如果调用的方法没有看到您期望的值,首先要问的是调用方中的值是什么样子的。在每次调用
searchString
之前添加日志记录和/或println调用将澄清正在发生的调用以及调用方传递给它的内容。好吧,我做到了。变量A已更改,我在searchString调用之前立即进行了检查,但searchString仍采用in参数的旧值。从您的评论中,我推测您希望A发生更改,但我看不出这是如何发生的。如果可能,为fl声明和文件路径内容添加代码。特别是文件路径内容,因为它是数据的来源。我做了,这就是为什么它显示为false,然后又返回为true,我从它自己的方法内部复制字符串“VS.DPU.CPULOAD.MEAN(%)”,第二个文件不包含它,但它再次显示。
D:\Downloads\UO DPU usage(03112015 1540)_20150311_154036.xls
D:\Downloads\UO DPU usage(03112015 1540)_20150311_154036.xls
reading..
D:\Downloads\UO DPU usage(03112015 1540)_20150311_154036.xls
false
VS.DPU.CPULOAD.MEAN (%)
true
true
D:\Downloads\UO CPU usage(03112015 1541)_20150311_154121.xls
D:\Downloads\UO CPU usage(03112015 1541)_20150311_154121.xls
reading..
D:\Downloads\UO CPU usage(03112015 1541)_20150311_154121.xls
false
VS.DPU.CPULOAD.MEAN (%)
true
true