Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将数组作为参数传递不起作用。可能是什么错误?_Java - Fatal编程技术网

Java 将数组作为参数传递不起作用。可能是什么错误?

Java 将数组作为参数传递不起作用。可能是什么错误?,java,Java,我将var数组作为参数传递给quadraticalc方法,并使用它执行操作,但我想返回两个值..但给了我错误 package testingequality; import java.util.Scanner; public class Sum { public static void main(String[] args) { //comparison (); double [] var = new double [3]; int

我将var数组作为参数传递给quadraticalc方法,并使用它执行操作,但我想返回两个值..但给了我错误

package testingequality;

import java.util.Scanner;

public class Sum {

    public static void main(String[] args) {
        //comparison ();

        double [] var = new double [3];
        int counter;
        Scanner input = new Scanner (System.in);
        for (counter = 0; counter< var.length; counter++)
        {
            System.out.println ("Input value for a,b,c");
            var [counter] = input.nextDouble();
        }

        double [] sum = quadraticalc (var);
        for (int i = 0; i < sum.length; i++)
        {
        System.out.println (sum [i]);
}
    }
     public static double [] quadraticalc (double [] var)
    {
         double a,b,c,d,e;
         double [] x = new double [2];
         a = var [0];
         b = var [1];
         c = var [2] ;
         d = (b*b)-(4*a*c);
         e =  Math.sqrt(d);
         double x1 = (-b + e)/ (2 * a);
         double x2 = (-b - e)/ (2 * a);
         x [0] = x1;
         x [1] = x2;
         return x; 

    }
}
包装检测质量;
导入java.util.Scanner;
公共类金额{
公共静态void main(字符串[]args){
//比较();
double[]var=新的double[3];
整数计数器;
扫描仪输入=新扫描仪(System.in);
用于(计数器=0;计数器<变量长度;计数器++)
{
System.out.println(“a、b、c的输入值”);
var[counter]=input.nextDouble();
}
双[]和=平方LC(var);
对于(int i=0;i

我对代码做了一点修改,现在我能得到正确的答案了。。多亏了这些贡献

在这里孤注一掷。。。 您需要漂亮地打印数组的内容。试一试

Arrays.toString(sum)

但是,当然,您可能还有其他问题…

所以我运行了您的代码。没有错误,但我认为您得到了类似
[D@330bedb4
您认为这是一个错误。相反,这是完全可以接受的行为。至少

System.out.println (sum);
我认为您希望打印数字。但实际上,Java打印的是数组对象,它没有漂亮的字符串表示形式。因此,您希望打印数组中的双精度值。类似这样的操作就可以了

for (int i=0; i < sum.length; i++) {
    System.out.println(sum[i]);
}
运行示例(我打印了可见性的a、b、c、d和e值)


这些答案是正确的,可以验证@

您应该打印数组中的值,而不是打印数组引用

更改:

System.out.println (sum);
致:


“但是给我错误”它显示了什么错误?错误是什么?你能给我们看一下堆栈跟踪吗?没有错误的详细信息吗?当我运行你的程序时,我没有得到错误。我能得到的最接近错误的东西是给出d为负的值,这样x1和x2为NaN。我尝试使用建议,但对于变量a、b、c,输出返回0.0和0.0What您的输入是否正确?1,5,6..也尝试了1,4,4我的错误,我之前做了一些更改..我刚刚检查了tru,u是对的..谢谢帮助为什么您撤销了我的答案?我尝试了使用建议,但对于变量a、b、c,输出返回0.0和0.0
Input value for a,b,c
10 100 10
Input value for a,b,c
Input value for a,b,c
a = 10.0, b = 100.0, c = 10.0, d = 9600.0, e = 97.97958971132712
-0.10102051443364388
-9.898979485566356
System.out.println (sum);
System.out.println (sum[0]);
System.out.println (sum[1]);