![](/img/trans.png)
[英]How can I make an SWT component that looks and behaves like a single table header
[英]how do I return when the method header looks like this?
只是一个抬头,这是一个班级。 我将介绍迄今为止我想出/完成的所有内容。
我得到了一个方法标题,但我必须编写整个方法。 这是标题:
public static double[] solveQuadraticEquation(double a, double b, double c){
正如你可能猜到的那样,我只需要写一些使用二次方程求解x的简单线。 很容易。 我很困惑的是双倍之后的[]。 我假设这意味着返回类型是一个双数组? 我该怎么写呢? 我有两个我想要返回的double值,value1和value2。 通常我会像以下一样返回它们:
return value1;
return value2;
在这种情况下会有什么不同? 当我尝试以通常的方式返回两个值时,我得到错误“required:double [],found:double”。
编辑:我是个白痴。 我只需要将两个值放入一个数组中。 我猜这个没有立即想到的原因是因为它似乎没有必要成为一个阵列。
return value1;
return value2;
这不起作用,因为一旦代码命中一个return
语句,就是这样,你的方法就完成了。
return
后面的内容必须是方法签名中指定的类型。 例如,如果方法签名指定返回类型是double[]
,一个double
的数组,每次包含return
语句时,它必须像
return array;
其中array
是一个double数组。 它可以是double[]
类型的变量,即在方法中先前声明的double
数组,也可以是返回double
数组的某个表达式,例如
return new double[] {value1, value2};
正如pstanton的回答包括。
类似地,如果方法签名指定返回类型是,例如, HashMap<Integer, String>
,则每次编写return
语句时,单词return
必须后跟一些计算为HashMap<Integer, String>
实例的内容。
我很困惑的是双倍之后的[]。 我假设这意味着返回类型是一个双数组?
是double []表示你的方法应该返回一个双数组。
一个方法只能有一个return语句,因此你不能按照你想要的方式返回2个值,而应该尝试类似:
return new double[]{value1, value2}
然后访问你的变量,如:
double[] result = solveQuadraticEquation(a,b,c)
//result[0] now containts value1 and result[1] contains value2
首先,您应该知道double与double []不同,前者是前提数据类型,而后者是数组。
我建议你做的是创建一个新的数组double [] root = new double [2]; 并将两个根分别分配给root [0]和root [1]。 然后返回该数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.