对不起,如果它的一个愚蠢的问题,但我是一个初学者使用StreamTokenizer,我试图解决这个练习this,请帮助我,我不知道我的程序中有什么问题,永远达不到我的解决方法,它也永远不会完成,我已经问timus论坛,但我知道这里是更快地收到答案为什么我的程序永远达不到解决方法?
import java.io.*;
public class Prueba {
static int index = 0;
static double[] l = new double[131072];
public static void main(String args[]) throws IOException {
StreamTokenizer str = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
while (((str.nextToken() != StreamTokenizer.TT_EOF))) {
if (str.ttype == StreamTokenizer.TT_NUMBER) {
l[index++] = str.nval;
//System.out.println(str.nval);
// System.out.println(l[0]);
// System.out.println(l[1]);
}
}
solve();
}
public static void solve() {
double res;
for (int i = index - 1; i >= 0; i--) {
res = Math.sqrt(l[i]);
System.out.println(String.format("%.4f\n", res));
}
}
}
如果在调试器中逐句通过代码,会发生什么情况?这将是确定问题出在哪里的最快捷方式。 – 2011-05-13 16:01:04
如果您从未接触过对“solve()”的调用,那么您的'while'循环一定不能结束... – 2011-05-13 16:01:37
您如何运行该程序?您是将文件重定向到标准输入,还是手动输入输入? – sjr 2011-05-13 16:02:54