gpt4 book ai didi

Java JUnit 测试错误

转载 作者:行者123 更新时间:2023-12-02 05:36:25 25 4
gpt4 key购买 nike

这就是我正在做的事情:计算一个人的出生年月日以及当前年月日的确切年龄。

您可以使用这个数学技巧来计算年龄!

  1. 将输入的值转换为以下格式:YYYYMMDD
  2. 从当前信息中减去出生信息
  3. 您答案的前三位数字是此人的年龄。 (请注意,大多数情况下第一位数字为零)

示例:

Birth: 19900510
Current: 20100803
Current - Birth : 0200293
First 3 Digits: 020
This person is 20 years old.

这是我的主 .java 文件

class CodeClass { 
public int ageCalculator(int birthYear, int curYear, int birthMonth, int curMonth, int birthDay, int curDay)
{
String answer;
int current = curYear*10000 + curMonth*100 + curDay;
int birth = birthYear*10000 + birthMonth*100 + birthDay;
answer=Integer.toString(current-birth);
answer = answer.substring(0,2);
return(Integer.parseInt(answer));
}
}

这是 JUnit 测试文件

 import junit.framework.TestCase; 
import org.junit.Test;
public class CodeTest extends TestCase {
@Test
public void testGetNum() {
assertEquals(26, CodeClass.ageCalculator(1983, 2010, 4, 4, 5, 2));
assertEquals(27, CodeClass.ageCalculator(1983, 2010, 6, 10, 15, 1));

}
}

这是我运行测试时的错误

Your code did not compile: /CodeTest.java:6: non-static method ageCalculator(int,int,int,int,int,int) cannot be referenced from a static context
assertEquals(26, CodeClass.ageCalculator(1983, 2010, 4, 4, 5, 2));
^
/CodeTest.java:7: non-static method ageCalculator(int,int,int,int,int,int) cannot be referenced from a static context
assertEquals(27, CodeClass.ageCalculator(1983, 2010, 6, 10, 15, 1));
^
2 errors

最佳答案

您正在尝试以静态方式访问ageCalculator,这是一个非静态方法:

CodeClass.ageCalculator

根据您的需要,标记方法静态或创建类的实例,然后在该实例上调用该方法。

关于Java JUnit 测试错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24925295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com