0
我寫了一個非常簡短的程序,用於在線評判者(http://acm.sgu.ru/problem.php?contest=0 &問題= 184)的簡單編程競爭問題,但由於某種原因我在第21次測試中遇到了運行時錯誤(它沒有詳細說明運行時錯誤是什麼)。所以我重寫了代碼,它現在沒有給出運行時錯誤,但我不明白爲什麼這個代碼應該工作,而原來沒有。這裏是工作代碼:神祕的Java運行時錯誤
Scanner scan = new Scanner(System.in);
int[] arr1 = new int[3];
int[] arr2 = new int[3];
for (int i = 0; i <= 2; i++) arr1[i] = scan.nextInt();
for (int i = 0; i <= 2; i++) arr2[i] = scan.nextInt();
System.out.println(Math.min(arr1[0]/arr2[0], Math.min(arr1[1]/arr2[1], arr1[2]/arr2[2])));
這裏是代碼的非工作:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String[] arr1 = in.readLine().split(" ");
String[] arr2 = in.readLine().split(" ");
int flour = Integer.parseInt(arr1[0])/Integer.parseInt(arr2[0]);
int milk = Integer.parseInt(arr1[1])/Integer.parseInt(arr2[1]);
int cabbage = Integer.parseInt(arr1[2])/Integer.parseInt(arr2[2]);
System.out.println(Math.min(cabbage, Math.min(flour, milk)));
我起初試圖改變的BufferedReader在非工作代碼中掃描器和使用in.nextLine(),但沒」工作。然後我想,也許有一個由零開始的劃分,但問題條件排除它,這應該仍然是工作代碼中的一個問題,所以我不知道爲什麼第一個工作,但第二個沒有。
你能告訴我們什麼21號測試? –
不幸的是我不能。它給出的所有信息都是錯誤的類型。 – mgriisser