我的findMiddle()方法中的第一个for循环应该在数组列表中找到数组的AVERAGE,但是我的第二个for循环应该在数组中找到最接近该平均值的值。但是,Java甚至不接受我的版本。它不接受什么?
这是我为编写类的测试:
// Empty2DArray returns a zeroed 2D array.
func Empty2DArray(arraySize int) [][]float32 {
emptyArray := make([][]float32, arraySize)
for y := 0; y < arraySize; y++ {
row := make([]float32, arraySize)
for x := 0; x < arraySize; x++ {
row[x] = 0
}
emptyArray[y] = row
}
return emptyArray
}
我到目前为止有什么:
import static org.junit.Assert.*;
import org.junit.Test;
public class Question2Test
{
int[] arrayInts = {1, 1, 3, 4, 9};
private Question2 avg1;
private Question2 avg2;
private Question2 avg3;
@Test
public void testFindMiddle()
{
Question2 avg1 = new Question2();
assertEquals(1, avg1.getAverage(arrayInts));
Question2 avg2 = new Question2();
assertEquals(4, avg2.getAverage(arrayInts));
Question2 avg3 = new Question2();
assertEquals(0, avg3.getAverage(arrayInts));
}
//find what I need to do with "getAverage" == return avg?
}
所以第一个问题是循环根本不需要我花费几秒钟的时间。我能够找到平均值,现在Java不接受我找到的最接近平均值的值。
答案 0 :(得分:0)
不考虑第二个for循环的原因是return语句。由于return语句将一直执行,因此永远不会考虑第二个for循环。因此,控制流程在变化,永远不会回到该方法。