我有以下代码:
public class Square {
public static double[] square (double a[]){
double[] s = new double[a.length];
for (int i=0; i<a.length; i++) {
s[i]=a[i]*a[i];
}
return s;
}
//other methods...
}每当我调用BlueJ方法并选择double[] square (double a[])并键入0、1、2和3时,我就会一直得到一个期望的错误消息错误标识符。所以我不能测试我的数字,我怎样才能解决这个问题?正常情况下,如果你输入0,1,2和3,你应该得到每个数字的平方,但出于某种原因,我没有管理它。
编辑:
这就是我试图测试这个方法的方法:
Square.square(0, 1, 2, 3);发布于 2014-04-28 15:37:26
问题是您需要发送一个double[],但是您要发送4个int参数。解决这一问题的方法有两种:
double[]:
Square.square(新double[] { 0,1,2,3} );只需记住将方法的结果存储在另一个double[]中,以评估结果:
double[] results = Square.square( <add the arguments depending on the chosen solution> );
System.out.println(java.util.Arrays.toString(results));要测试您的代码是否有效,只需编写一个public static void main方法并调用所需的方法来查看它是否可以执行,并可能评估结果。您甚至可以在Square类中这样做:
public class Square {
public static double[] square(double[] a) {
//the definition of your method...
}
public static void main(String[] args) {
//calling the method to seek if compiles
double[] results = Square.square(new double[] { 0, 1, 2, 3 });
//printing the results
System.out.println(java.util.Arrays.toString(results));
}
}如果您希望/需要对代码进行测试,这意味着,执行它并评估您是否获得了所需的结果,您可以使用编写一个单元测试。我将添加一个测试将是什么样的示例:
public class SquareTest {
@Test
public void testSquare {
double[] expectedResults = { 0, 1, 4, 9 };
double[] results = Square.square(new double[] { 0, 1, 2, 3 });
Assert.assertArrayEquals("Not the desired results.", expectedResults, results, 0.00001);
}
}https://stackoverflow.com/questions/23345104
复制相似问题