我是學習java的新手,我在下面寫了一個方法。我試圖了解如何滿足測驗人員的方法。有沒有辦法通過while回圈獲得正確的邏輯?我說總和 = 0 并且總和小于 i,增加總和并回圈直到它達到 i 然后回傳總和(或者這就是我認為這就是我試圖做的)以滿足測驗。當我查看 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);
uj5u.com熱心網友回復:
您正在尋找一種可以為您提供累積總和的方法。您撰寫的方法只是為您提供了它運行的次數,這正是您作為引數提供的數字。
您需要區分計數器(引數)和累積和,并更新計數器的值,以便 while 回圈知道何時退出。
最后,<= 比較是獲得正確值所必需的(相對于 <)。
下面是一個例子:
public int sumOfInts(int i) {
int sum = 0;
int counter = 0;
while(counter <= i) {
sum = sum counter;
counter = counter 1;
}
return sum;
}
uj5u.com熱心網友回復:
嘗試這個
public int sumOfInts(int i) {
int sum = 0;
int iteration = 0;
while(iteration < i){
sum = sum iteration;
iteration ;
}
return sum;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/313179.html
上一篇:如何為每個回圈簡化這個java?
