首页 > 解决方案 > 如何修复“构建失败”/Cengage-Exercise-9 计算溢价的前两个问题

问题描述

我只是在学习 java 的创建方法部分,因此,当它说“构建失败”时,我什至不知道它在说什么或问我什么。我似乎已经很好地完成了代码,并且计算溢价确实有效并且正确计算了 2/4 的答案,但似乎无论我做什么,它总是对其他 2 个问题说“构建失败”。

// Insurance.java
// Chapter 3, Exercise 9
import java.util.Scanner;
class Insurance{
   public static void main(String args[]){
      int currY, birthY, ageD = 0;

      Scanner scanny = new Scanner(System.in);
      System.out.println("What year was you born?");
      birthY = scanny.nextInt();
      System.out.println("What is the current year?");
      currY = scanny.nextInt();
      calculatePremium(currY, birthY, ageD);
   }
   public static void calculatePremium(int currY, int birthY, int ageD){
       ageD = (((birthY - currY)/10)+15)*20;
       System.out.println(ageD);
   }
}

我尝试改变birthY和currY相反,将calculatePremium更改为int,因为我认为它之前有int符号作为设置答案的一种,所以对学生来说更容易,我放了一个void符号int,因为我知道它会自动返回变量。

现在这是我不知道这意味着什么的部分,因为我还是相当新的。我唯一能理解的部分是 2016 - 1991 == 340,因为代码想要得到你的几十年的年龄,然后 + 15 然后 * 20。我也有如果我切换的问题上面的System.out.prinln字符串代码会说我有一个问题错了,即使它的顺序不重要。 Unit TestIncomplete calculatePremium 适用于 26 岁

构建状态

构建失败

构建输出

NtTest4231c145.java:9: error: method calculatePremium in class Insurance cannot be applied to given types;
    assertTrue(tester47.calculatePremium(2016, 1991) == 340);
                       ^
  required: int,int,int
  found: int,int
  reason: actual and formal argument lists differ in length
1 error

测试内容

Insurance tester47 = new Insurance();

@Test
public void unitTest() {
    assertTrue(tester47.calculatePremium(2016, 1991) == 340);
}

预期和实际结果是“构建输出”和“测试内容”。

标签: java

解决方案


推荐阅读