2013-04-25 3 views
-4
public boolean add(int v) 
    { 
     if (count < list.length)  // if there is still an available slot in the array 
      { 
      if (v >= minValue || v <= maxValue) // if the value is within range 
       { 
       list[count] = v; // add the value to the next available slot 
       count++;   // increment the counter 
       return true;  // all okay ; Value added 
       } 
      else 
       { 
       System.out.println("Error: The value is out of range. Value not added"); 
       return false; 
       } 
      } 
     else 
      { 
      System.out.println("Error: The list is full. Value not added."); 
      return false; 
      } 
    } 
+4

В чем вопрос? –

ответ

1

Следует рассматривать minValue и maxValue положительны

if (v >= minValue && v <= maxValue) 

если minValue является отрицательным, то вы можете добавить еще один чек

if(v >= 0) 
2

Предполагая, что minValue больше нуля, вы должны изменить || до & & для проверки обоих концов диапазона в одно и то же время.

if (v >= minValue && v <= maxValue) 

Если MinValue не обязательно больше нуля

if (v >= minValue && v <= maxValue && v >= 0) 
+1

Не должно быть '&&' на месте '||' иметь значения в диапазоне min max? – Smit

+0

Ты прав, Смит. Однако эта ошибка была скопирована из вопроса. – Brian

Смежные вопросы