JAVA中一个奇怪的循环问题

来源:百度知道 编辑:UC知道 时间:2024/05/09 18:40:57
大家帮忙看一下,在这两个FOR循环中,为什么循环中的内容都只执行第一句就跳出去了啊,而且再也不跳回来。
代码如下
int i, j, m, n, z;
float p;
Search search=new Search();
System.out.println("ID1 " + " ID2 " + " WEIGHT ");
for (i = 0; i < model.getSize(); i++)
for (j = i + 1; j < model.getSize(); j++)
{
m = search.getSearchResult(c[i]); //程序运行到此处就跳走了!
n = search.getSearchResult(c[j]); //程序根本就没有运行到此处!!!!
z = search.getSearchResult(c[i] + c[j]);
p = (float) z / (m * n);
System.out.println("123");
System.out.println("1");
System.out.println(c[i] + "\t" + c[j] + "\t" + p + "\t");

}
上面的循环中,我设置了断点调试,可是执行了m = search.getSearchResult(c[i]); 这一句for循环就结束了,下面的语句就都不执行了。
getSearchResult()是我写的一

java.lang.NoClassDefFoundError: org/apache/soap/rpc/Parameter

没有发现类定义......

自己朝这方面去搞一下.....

像这种跳不回来的就是有错误在函数里面...就是被调用的函数里面就发生了异常了...

所以...

for (i = 0; i < model.getSize(); i++) 后面的{}呢?
很明显就只执行后面的for嘛

for (i = 0; i < model.getSize(); i++)
{
for (j = i + 1; j < model.getSize(); j++)
{
m = search.getSearchResult(c[i]); //程序运行到此处就跳走了!
n = search.getSearchResult(c[j]); //程序根本就没有运行到此处!!!!
z = search.getSearchResult(c[i] + c[j]);
p = (float) z / (m * n);
System.out.println("123");
System.out.println("1");
System.out.println(c[i] + "\t" + c[j] + "\t" + p + "\t");

}
}

m = search.getSearchResult(c[i]);

应该是这一步出异常,所以就跳出循环了
你的参数中的c这个数组是什么?
c[i]这个对象getSearchResult这个方法可以使用吗?

你还是自己检查检查,问题肯定就在这里面。

你在debug时最好是跳到getSearchResult这个方法试一试