Java获取代码执行的代码的所有行号
输入(a,b,c)1if(a>0)2{if(b==0)3c==b;}4if(c==1)5a==0;对上面这个简单的例子我想得到当输入a,b,c之后,返回一个list路径,...
输入(a,b,c)
1 if(a>0)
2 {if(b==0)
3 c==b;}
4 if(c==1)
5 a==0;
对上面这个简单的例子 我想得到当输入a,b,c之后,返回一个list路径 ,代表本次运行所经过的行数,比如输入(1,1,1) 返回一个(1,2,4,5) 这样的方法在Java中能实现吗? 展开
1 if(a>0)
2 {if(b==0)
3 c==b;}
4 if(c==1)
5 a==0;
对上面这个简单的例子 我想得到当输入a,b,c之后,返回一个list路径 ,代表本次运行所经过的行数,比如输入(1,1,1) 返回一个(1,2,4,5) 这样的方法在Java中能实现吗? 展开
3个回答
展开全部
这个没什么意义吧,你想要知道具体运行到那些地方的话可以打断点一步一步运行啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个应该是不行的,话说你想用这个是干嘛的?想调试?
追问
我想做遗传算法关于测试数据生成, 需要记录这个路径 来判断适合度。真的没办法解决吗,其他的仿真软件什么的有没有可以的?
追答
我是不知道有啥方法,不过你可以研究下java报错的时候会把行号什么的报出来,看看那个怎么实现的
刚刚看到一个,你看下
public class TestClass
{
public static void main(String[] args)
{
test();
}
public static void test()
{
getCaller();
}
public static void getCaller()
{
StackTraceElement stack[] = (new Throwable()).getStackTrace();
for (int i = 0; i < stack.length; i++)
{
StackTraceElement s = stack[i];
System.out.format(" ClassName:%d\t%s\n", i, s.getClassName());
System.out.format("MethodName:%d\t%s\n", i, s.getMethodName());
System.out.format(" FileName:%d\t%s\n", i, s.getFileName());
System.out.format("LineNumber:%d\t%s\n\n", i, s.getLineNumber());
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不行,可以用编译器的debug运行,就能知道运行了哪些行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询