-3
我想解決本網站上的問題:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=979。但我的代碼的一部分引發運行時錯誤:Java 1.7運行時錯誤
class Main {
static String ReadLn (int maxLg) // utility function to read from stdin
{
byte lin[] = new byte [maxLg];
int lg = 0, car = -1;
String line = "";
try
{
while (lg < maxLg)
{
car = System.in.read();
if ((car < 0) || (car == '\n')) break;
lin [lg++] += car;
}
}
catch (IOException e)
{
return (null);
}
if ((car < 0) && (lg == 0)) return (null); // eof
return (new String (lin, 0, lg));
}
public static void main(String[] args){
Main jollyJumper = new Main();
jollyJumper.start();
}
public void start(){
String input;
while((input = ReadLn(3000)) != null){
System.out.println(answer(input));
}
}
public String answer(String line){
// The error comes from this function !!!
String[] items = line.split(" ");
int[] array;
try {
array = new int[items.length - 1];
}
catch(NegativeArraySizeException e){
return "Not jolly";
}
for(int i = 0; i < array.length; i++){
array[i] = Integer.parseInt(items[i +1]);
}
return "Jolly";
}
}
但判斷系統不會告訴我哪裏是錯誤,並在我的電腦上一切工作正常。有任何想法嗎?
請告訴我們堆棧跟蹤 – user
沒有足夠的代碼來告訴你程序在哪裏出錯。它會很容易崩潰。請提供isJolly()。 – laune
@user:該站點的在線判斷系統不提供堆棧跟蹤,它實際上只提供字符串「運行時錯誤」。 –