我正在做一個任務,如果用戶條目已經存在於數組中但我不能讓它工作,我需要拋出異常。我必須使用一個數組,它不能是一個arrayList。如果該條目不存在於數組中,則應該添加它。避免在陣列中重複的用戶條目
這是我到目前爲止有:
try {
boolean duplicates = false;
num = Integer.parseInt(inputField.getText());
for (int i = 0; i < index; i++){
if (num == (array[i])) {
duplicates = true;
}
}
array[index] = num;
index++;
if(!duplicates){
throw new DuplicateValueException();}
} // end try
謝謝!
是您的排序嗎? – 2014-10-27 00:29:05
如果有**沒有**重複項,那麼您的代碼會拋出一個合適的錯誤,而如果**有**重複項則不會。將'if(!duplicates)'更改爲'if(重複)'。另外,移動'array [index] = num; index ++;'拋出異常之後,或者無論如何你會添加一個元素,例外或者否。 – Amadan 2014-10-27 00:31:44
FWIW - 你可能完全擺脫了'duplicates'變量,只是拋出'DuplicateValueException',你現在把它設置爲'true'。代碼更少,更易於閱讀。 – 2014-10-27 00:45:15