如何为同一条件调用两个不同的函数?

时间:2016-05-07 03:30:23

标签: java methods graph

我有一张图表。首先,它包含两条边1 21 3。如果我走到边缘1 2,方法testdata.firstData(s, t)将在s = 1t = 2处被调用。

然后我需要经过两次1 3边缘。因此,第一次调用方法testdata.secondData(s, t)然后调用testdata.thirdData(s, t)

所以我试着这样做

if ("1".equals(s) && "2".equals(t))
    testinput = td.firstdata();
if ("1".equals(s) && "3".equals(t))
    testinput = td.seconddata();

但问题是我不知道如何调用第三种方法testdata.thirdData(s, t)。任何人都可以给我任何解决方案如何调用边1 3的第二和第三种方法?

1 个答案:

答案 0 :(得分:2)

您可以使用布尔标志来检查是否已调用seconddata()方法并使用return语句退出TestData1()方法需要时。

boolean secondFinished = false;
public int TestData1(String a, String b){
TestdataGeneration td = new TestdataGeneration();

    if("1".equals(a) && "2".equals(b))
    {
        testinput = td.firstdata();
    }
    if("1".equals(a) && "3".equals(b) && !secondFinished)
    {
        testinput = td.seconddata();
        secondFinished = true;
        return testinput;
    }
    if("1".equals(a) && "3".equals(b) && secondFinished)
    {
         testinput = td.thirddata();
    }
    return testinput;
}

或者以更易读的方式

boolean secondFinished = false;
public int TestData1(String a, String b){
TestdataGeneration td = new TestdataGeneration();

    if("1".equals(a) && "2".equals(b))
    {
        testinput = td.firstdata();
    }
    if("1".equals(a) && "3".equals(b))
    {
        if (!secondFinished)
        {
            secondFinished = true;
            return td.seconddata();
        }
        else
        {
            testinput = td.thirddata();
        }
    }
    return testinput;
}