Java 方法根据测试逻辑获取 int 的总和
Java method to get sum of int based on test logic
我是新手java,我在下面写了一个方法。我试图了解如何满足测试器方法。有没有办法通过 while 循环获得正确的逻辑?
我声明总和 = 0,当总和小于 i 时,递增总和并循环直到它达到 i 然后 return 总和(或者这就是我认为我正在尝试做的)以满足测试.当我查看 1) 的 junit 错误消息时,它说它给我 10,但期望 55,2) 说我得到 49,但期望 1225。3) 满意。我在这里做错了什么?是否可以使用 if 语句或 while 循环执行此方法?
public int sumOfInts(int i) {
int sum = 0;
while(sum < i)
++sum;
return sum;
}
public void testSumOfInts2() {
int sumOfInts = math.sumOfInts(10);
assertEquals(55, sumOfInts);
public void testSumOfInts3() {
int sumOfInts = math.sumOfInts(49);
assertEquals(1225, sumOfInts);
public void testSumOfInts4() {
int sumOfInts = math.sumOfInts(-49);
assertEquals(0, sumOfInts);
试试这个
public int sumOfInts(int i) {
int sum = 0;
int iteration = 0;
while(iteration < i){
sum = sum+iteration;
iteration++;
}
return sum;
}
您正在寻找一种方法来计算累计和。您编写的方法只给出了它运行的次数,这正是您作为参数提供的次数。
您需要区分计数器(参数)和累加和,并更新计数器的值,以便 while 循环知道何时退出。
最后,<= 比较是获得正确值所必需的(相对于 <=)。
这是一个例子:
public int sumOfInts(int i) {
int sum = 0;
int counter = 0;
while(counter <= i) {
sum = sum + counter;
counter = counter + 1;
}
return sum;
}
我是新手java,我在下面写了一个方法。我试图了解如何满足测试器方法。有没有办法通过 while 循环获得正确的逻辑? 我声明总和 = 0,当总和小于 i 时,递增总和并循环直到它达到 i 然后 return 总和(或者这就是我认为我正在尝试做的)以满足测试.当我查看 1) 的 junit 错误消息时,它说它给我 10,但期望 55,2) 说我得到 49,但期望 1225。3) 满意。我在这里做错了什么?是否可以使用 if 语句或 while 循环执行此方法?
public int sumOfInts(int i) {
int sum = 0;
while(sum < i)
++sum;
return sum;
}
public void testSumOfInts2() {
int sumOfInts = math.sumOfInts(10);
assertEquals(55, sumOfInts);
public void testSumOfInts3() {
int sumOfInts = math.sumOfInts(49);
assertEquals(1225, sumOfInts);
public void testSumOfInts4() {
int sumOfInts = math.sumOfInts(-49);
assertEquals(0, sumOfInts);
试试这个
public int sumOfInts(int i) {
int sum = 0;
int iteration = 0;
while(iteration < i){
sum = sum+iteration;
iteration++;
}
return sum;
}
您正在寻找一种方法来计算累计和。您编写的方法只给出了它运行的次数,这正是您作为参数提供的次数。
您需要区分计数器(参数)和累加和,并更新计数器的值,以便 while 循环知道何时退出。
最后,<= 比较是获得正确值所必需的(相对于 <=)。
这是一个例子:
public int sumOfInts(int i) {
int sum = 0;
int counter = 0;
while(counter <= i) {
sum = sum + counter;
counter = counter + 1;
}
return sum;
}