هناك طرق مختلفة (وفعالة) للقيام بذلك. لكن مع الالتزام الصارم بالكود واستخدام المصفوفة ، أود أن أقترح شيئًا من هذا القبيل.
أولاً احسب عدد مرات التكرار، ثم أنشئ مصفوفة أخرى حيث ستخزن باقي الأرقام.
ثم لديك مصفوفة أخرى حيث تقوم بالتكرار خلال المصفوفة الأولى ، وإذا لم تتطابق مع الرقم الذي تحاول إزالته ، فقم ببساطة بإضافته إلى المصفوفة الجديدة.
int[] arr1 = {5,122,1,44,1,6,4,1,33,1,89,1,225,162,1,1,1,75,11,1,1,1};
int remove = 1;
int occurences =0, counter=0;
for(int i = 0; i < arr1.length ; i++) {
if(remove == arr1[i]) {
occurences++;
}
}
int[] subArray = new int[arr1.length - occurences];
for(int i = 0; i < arr1.length ; i++) {
if(remove != arr1[i]) {
subArray[counter++] = arr1[i];
}
}
for(int i=0; i< subArray.length; i++){
System.out.print(subArray[i] + " ");
}
إذا كنت لا ترغب في إضافة نفس الرقم عدة مرات ، فما عليك سوى الخروج من حلقة while بمجرد إضافتها في المرة الأولى.
while (num > 0) {
System.out.println(num % 10);
if (num%2!=0)
{
sum = sum+arr[i];
System.out.println("SUM IS: "+sum);
break; // add this line
}
num = num / 10;
}