繁体   English   中英

Java fizzBu​​zz(来自 CodingBat-Array2 的练习)

[英]Java fizzBuzz (excercise from CodingBat- Array2)

我有来自codingBat https://codingbat.com/prob/p153059的这个fizzBu​​zz练习,我的解决思路非常基本:

public String[] fizzBuzz(int start, int end) {
  
  int n=end-start;
  
  String[] array=new String[n];
  
  for(int i=0;i<n;i++){
    
    if(((start+i) % 3 ==0) && ((start+i) % 5 ==0)) array[i]="FizzBuzz";
    if((start+i) % 5 ==0)  array[i]="Buzz";
    if((start+i) % 3 ==0)  array[i]="Fizz";
    
    
    else{
      array[i]=String.valueOf((start+i));
    }
  }
  
  return array;
  
}

我不明白为什么在 for 循环中的 if 部分只读取底部 if,例如,如上所示,所有 3 倍数的数字都将显示为“Fizz”,但只有它们,然后如果我放了一个不同的如果在底部,它将是唯一显示的,我似乎无法弄清楚原因。

您仅使用 if 语句将检查所有条件,如果满足最后一个条件(底部 if),则它将打印其输出。

所以,你将不得不使用 if...else 语句。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM