我正在解决UVA问题。它不断给出运行时错误。我已经修改了我的代码,在读取stackoverflow上类似问题的答案后,以正确的格式输入,但仍然存在运行时错误。
请告诉我的代码有什么问题? 这是问题链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=36
Java代码:
class P100 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
long a[] = new long[1000000];
Scanner sc ;
String line = " ";
while ((line = br.readLine()) != null) {
sc=new Scanner(line);
long l,r;
if(sc.hasNextLong())
l = sc.nextLong();
else
break;
if(sc.hasNextLong())
r = sc.nextLong();
else
break;
long i = l, j = r;
if (l > r) {
i = r;
j=l;
}
long max = Long.MIN_VALUE;
for (long k = i; k < r + 1; k++) {
if (a[(int)k] == 0) {
a[(int)k] = countCycleLength(k);
}
if (max < a[(int)k]) {
max = a[(int)k];
}
}
System.out.println(l + " " + r + " " + max);
}
}
static long countCycleLength(long j) {
long count = 1;
while (j != 1) {
if (j % 2 != 0) {
j = j * 3 + 1;
j = j / 2;
count += 2;
} else {
j = j / 2;
count++;
}
}
return count;
}
static long ip(String s) {
return Long.parseLong(s);
}
}
答案 0 :(得分:1)
最后我通过将类的名称从P100更改为 Main 并将for循环的条件更改为k&lt;来接受此代码。 J + 1。