首页 > 解决方案 > 不带参数并返回 double 的方法

问题描述

我需要编写一个不带参数并返回双精度的公共方法 costMultiplier()。对于以“WC1A”或“EC1A”开头的邮政编码,该方法应返回 1.2,否则返回 1.0。

这是我到目前为止所拥有的,但我添加了一个论点。我不确定如何在没有论据的情况下回答这个问题,以及如何准确地测试 ir。非常感谢

public double costMultiplier(final String postCode) {
    double multiplier = 1.0d; `

    String pc = postCode.trim().toUpperCase(); 

    if (pc.startsWith("WC1A") || pc.startsWith("EC1A")) {
        multiplier = 1.2; 
    }

    return multiplier;
}

或者我这样做但需要包含一个字符串???

`public static double costMultiplier(){

if(postCode.contains("WC")

return 1.2; } else if(postCode.contains("EC") { return 1.0;}

标签: java

解决方案


也许您可以创建一个PostCode类,例如:

public class PostCode {

  private final String code;

  public PostCode(String code) {
    this.code = code.trim().toUpperCase();
  }

  public double costMultiplier() {
    if (code.startsWith("WC1A") || code.startsWith("EC1A")) {
        return 1.2; 
    }
    return 1.0
  }

}

那么你可以这样做:

new PostCode("WC1A").costMultiplier()

推荐阅读