0
我試圖用Java編寫了(蠻力)解決兩個問題和一個IllegalArgumentException時:Java「的錯誤:類型的非法啓動」扔
import java.lang.*;
public class TwoSum {
public int[] twoSum(int[] nums, int target) {
for (int i = 0; i < nums.length; i++) {
for (int j = i+1; j < nums.length; j++) {
if (nums[j] == target - nums[i]) {
return new int[] {i, j};
}
}
}
}
throw new IllegalArgumentException("No two sum solution");
}
然而,當我嘗試編譯它我得到以下錯誤:
/home/kurt/Documents/Algorithms/TwoSum.java:13: error: illegal start of type
throw new IllegalArgumentException("No two sum solution");
^
/home/kurt/Documents/Algorithms/TwoSum.java:13: error: ';' expected
throw new IllegalArgumentException("No two sum solution");
^
/home/kurt/Documents/Algorithms/TwoSum.java:13: error: invalid method declaration; return type required
throw new IllegalArgumentException("No two sum solution");
^
/home/kurt/Documents/Algorithms/TwoSum.java:13: error: illegal start of type
throw new IllegalArgumentException("No two sum solution");
^
4 errors
[Finished in 0.8s with exit code 1]
我有點難倒可能會導致錯誤? (我從示例代碼片段中獲取代碼,但沒有注意到任何差異)。
這只是一個錯字:你已經把'throw' *放在方法的外面了。將它移到更高的一行,*內部*方法的'{...}'。投票結束爲錯字/非重複。 –
'拋出新的IllegalArgumentException(「沒有兩個總和的解決方案」);'在類級別聲明。不允許。作爲最後一條語句,它應該在'twoSum()'中。 – davidxxx