本地运行程序成功,但是OJ上却报运行错误

我们在刷题时候会出现一个问题,就是本地上运行成功了,提供的数据测试的结构都对。但是去OJ上提交的时候出现了Runtime error 运行错误的问题,可能测试的时候还出现这个java.util.NoSuchElementException ,其实就是我们在编程的时候没注意的一个小问题,就比如下面这段代码

package fifth.begin;

import java.util.Scanner;

public class oj02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        while (true){
            int n =sc.nextInt();
            int arr[] = new int[n];
            int b[] = new int[2];
            int min = 2000;
            for (int i = 0; i < n; i++) {
                int num = sc.nextInt();
                arr[i] = num;
            }
            for (int i = 0; i < arr.length-1; i++) {
                if (Math.abs(arr[i]-arr[i+1])<min){
                    min = Math.abs(arr[i]-arr[i+1]);
                    b[0] = i+1 ;
                    b[1] = i+2;
                }
            }
            if (Math.abs(arr[0]-arr[n-1])<min) {b[0]=1;b[1]=n;}
            System.out.print(b[0]+" ");
            System.out.println(b[1]);
            System.out.println();

        }
    }
}
`while里面的`true`应该改成`sc.hasNext()`这样程序才不会报错。

你可能感兴趣的:(刷题,Java,运行时错误)