我遇到了以下问题需要解决。
示例输入和输出
我的解决方案如下:
//Class
public class CoffieScriptGenerator {
public String caffeineBuzzz(Integer number) {
if(isDivisbleByThreeAndFour(number))
{
if(isEven(number))
return "CoffeeScript";
else
return "Coffee";
}
if(isDivisbleByThree(number))
{
if(isEven(number))
return "JavaScript";
else
return "Java";
}
return "mocha_missing!";
}
private boolean isEven(Integer number) {
return number%2==0;
}
private boolean isDivisbleByThreeAndFour(Integer number) {
return isDivisbleByThree(number) && number%4==0;
}
private boolean isDivisbleByThree(Integer number) {
return number%3==0;
}
}
请提供建议来重构并改进它以及如何借助策略等模式来改进这样的嵌套。
答案 0 :(得分:0)
这些问题的一个好设计模式是从顶部的空字符串开始。然后,当您的代码向下流动并检查某些条件时,您可以随时将文本附加到字符串的末尾。然后,当您到达方法的末尾时,您的字符串全部构建,您只需返回它。
此类设计的优点是您的方法只有一个退出点(只有一个返回语句)。