Я пытаюсь использовать «fizz buzz» проблема с ArrayList. Моя программа работает нормально и выполняется так, как предполагалось, до n-й итерации. Предположим, что введено значение 100
. «Шипение гудение» запускается на выполнение до 100 и возвращает результат, но делает дополнительные итерации и добавляя значение ArrayList<String> numfb
моя программа не заканчивается для правильной петли
для n=100
дополнительных 20 итераций
для n=50
дополнительных 10 итераций
Как я понимаю цикл должен закончиться после i<n
, которые представляют собой число итераций и значения, добавленные в список массивов.
Вот мой код:
int i , n;
String temp;
Scanner input = new Scanner (System.in);
ArrayList<Integer> number=new ArrayList<Integer>();
ArrayList<String> numfb=new ArrayList<String>();
System.out.println("enter array range");
n=input.nextInt();
for(i=0; i<n; i++){
number.add(i,i+1);
}
for(i=0; i<n ;i++){
if(!((number.get(i)) % 3==0) || ((number.get(i)) % 5==0)){
temp=String.valueOf(number.get(i));
numfb.add(i,temp);
}
if((number.get(i)) % 5==0 && (number.get(i)) % 3==0){
numfb.add(i,"FizzBuzz");
}
else if((number.get(i)) %3 == 0){
numfb.add(i,"Fizz");
}
else if((number.get(i)) % 5 == 0){
numfb.add(i,"Buzz");
}
}
System.out.println(number);
System.out.println(numfb);
вы пропускаете еще, если на второе условие в цикле –
BTW, вам не нужно использовать 'list.add (index, item)', если вы хотите добавить элемент в конец списка. Просто используйте 'list.add (item)'. – Pshemo
Пожалуйста, помогите нам с некоторыми [дополнительными методами отладки] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). Если у вас все еще есть проблемы после этого, пожалуйста, не забудьте вернуться с более подробной информацией. –