我有一张图表。首先,它包含两条边1 2
和1 3
。如果我走到边缘1 2
,方法testdata.firstData(s, t)
将在s = 1
和t = 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
的第二和第三种方法?
答案 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;
}