2015-02-01 7 views
-1

Я реализовал структуру данных, которая имеет ограничение пропускной способности. Если количество вставленных элементов больше емкости, оно генерирует исключение.Испытательная способность без использования петли

Я хотел бы проверить, что класс генерирует исключение без использования цикла, так как всегда существует риск возникновения багги-цикла.

public void addElt(String s) 
    { 
     if(elements.size() < 20) 
     { 
      elements.addFirst(s); 
      index = 0; 
     } else 
     { 
      throw new BufferOverflowException(); 
     } 
    } 

Возможно ли это? благодаря

+0

невозможно ответить, не видя кода структуры данных , –

+3

Операторы жесткого кода X + 1, которые вставляют элементы в вашу структуру данных, где X - это емкость вашей структуры данных - или вы можете написать цикл и убедиться, что он не глючит. – MarsAtomic

+0

@ElliottFrisch: Я добавил код. – user199

ответ

0

С петлей, если у вас есть экземпляр вашего класса под названием thing, что может выглядеть как

for (int i = 0; i < 21; i++) { 
    thing.addElt(String.valueOf(i)); 
} 

без петли

thing.addElt("1"); 
thing.addElt("2"); 
thing.addElt("3"); 
thing.addElt("4"); 
thing.addElt("5"); 
thing.addElt("6"); 
thing.addElt("7"); 
thing.addElt("8"); 
thing.addElt("9"); 
thing.addElt("10"); 
thing.addElt("11"); 
thing.addElt("12"); 
thing.addElt("13"); 
thing.addElt("14"); 
thing.addElt("15"); 
thing.addElt("16"); 
thing.addElt("17"); 
thing.addElt("18"); 
thing.addElt("19"); 
thing.addElt("20"); 
thing.addElt("21"); // <-- should throw your Exception 
+0

, но если емкость 1000! – user199

+1

Затем используйте цикл, как я сказал в начале. Или жесткий код 1001 записей. –

+0

@ user199 На самом деле, вместо того, чтобы потворствовать этому вопросу, нам должно быть сложно понять, что трехстрочный цикл будет более глючным, чем 1000 строк кода макаронных копий, каждый из которых должен быть отредактирован вручную. Компьютер в значительной степени предназначен для обработки повторяющихся вычислений для нас. Почему бы вам не захотеть использовать его по назначению? Здесь вы что-то не понимаете. – MarsAtomic

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