我正在尝试使用ArrayList的“fizz buzz”问题。我的程序运行正常并按预期执行直到第n次迭代。假设输入值100
。 “fizz buzz”执行到100并返回结果,但它正在进行额外的迭代并为ArrayList<String> numfb
增加值
n=100
额外20次迭代
for n=50
额外10次迭代
据我所知,for循环应该在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);
答案 0 :(得分:0)
如果您在循环中处于第二个条件
,则错过了其他人df[paste("X", month(df$date_var), sep = '')]