我只是在学习Java的创建方法部分,因此,我什至不知道它在说“ Build Failure”时在说什么或问我什么。我似乎已经很好地完成了代码,计算出的保费确实可以工作,并且可以正确计算答案的2/4,但是无论我做什么,似乎总是对其他两个问题说“ Build Failure”。
// 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符号,因此可以方便学生使用,因此我将空代替int进行签名,因为我知道它会自动返回变量。
现在这是我不知道这意味着什么的部分,因为我还很新。我能理解的唯一部分是2016-1991 == 340,因为代码希望获得您年龄的几十年,然后+乘以15,然后*乘以20。我也遇到了如果我切换的问题上面的字符串代码的System.out.prinln
会说我错了一个问题,什么时候甚至都不重要。
单元测试不完整
computePremium适用于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);
}
预期和实际结果是“生成输出”和“测试内容”。