Java 是否可以使用scanner从数组中传输双值?

Java 是否可以使用scanner从数组中传输双值?,java,arrays,android-studio-2.0,Java,Arrays,Android Studio 2.0,我有一个需要单个值作为输入的方法,但我只有数组中的信息。我搜索并发现扫描器可以流式传输值,但只能以字符串形式。因此,我认为应该将数组更改为字符串,然后在返回值之前将其转换回double 这是我写的 double E; public double StreamValue (double[]g2){ Scanner s = new Scanner(Arrays.toString(g2)); //PROBLEM HERE while (s.hasNext

我有一个需要单个值作为输入的方法,但我只有数组中的信息。我搜索并发现扫描器可以流式传输值,但只能以字符串形式。因此,我认为应该将数组更改为字符串,然后在返回值之前将其转换回double

这是我写的

    double E;
    public double StreamValue (double[]g2){
        Scanner s = new Scanner(Arrays.toString(g2)); //PROBLEM HERE
        while (s.hasNext()){
            E = Double.parseDouble(s.next());
        }
        return E;
    }
当我运行代码时,它失败了。我的问题是,这个想法是正确的,但我遗漏了任何部分,还是完全无效

编辑:

我需要将流值输入一个方法,该方法将分析每个值并返回一个int

这是一个简短的例子:

public int事件分析器(双E){
如果(E>c_最大值)
a=0;
其他的
a=1;
返回a;

}
我并不完全清楚你的目标,但是 如果您有
double[]g2

您可以为-循环使用增强的

for(double d : g2)
    System.out.println("This is a double from array: "+ d);
如果需要从数组中返回一个double,那么可以通过执行以下操作使用索引来检索它

return g2[x];

其中x是介于
0
g2.length-1
之间的有效索引。我并不完全清楚您的目标,但是 如果您有
double[]g2

您可以为
-循环使用增强的

for(double d : g2)
    System.out.println("This is a double from array: "+ d);
如果需要从数组中返回一个double,那么可以通过执行以下操作使用索引来检索它

return g2[x];

其中x是介于
0
g2.length-1

之间的有效索引,我认为您的想法是正确的

但结果E必须是一个双精度数组:

double[] E;

我认为,你的想法是对的

但结果E必须是一个双精度数组:

double[] E;

@亚历山大·阿尼金在评论中回答了这个问题。我正在处理Arrays.stream,但它需要API 24,而我有API 19。我在寻找其他可能的方法。谢谢大家的回复

@Alexander Anikin在评论中回答了这个问题。我正在处理Arrays.stream,但它需要API 24,而我有API 19。我在寻找其他可能的方法。谢谢大家的回复

你能具体说明你想完成什么吗?它是完全无效的。再也没有比倒转更邪恶的了。另外,您的函数不可重传,不流式传输任何内容并解析整个数组以获取最后一个值,而您可以直接访问数组中的最后一个元素。@AlexanderAnikin好的,我现在可以看到了。你知道我能达到我需要的结果吗?你可以用Arrays.stream(g2)从数组中获得DoubleStream并将其用作流。请提供使用EventAnalyzer的代码。是否可以指定要完成的任务?它完全无效。再也没有比倒转更邪恶的了。另外,您的函数不可重传,不流式传输任何内容并解析整个数组以获取最后一个值,而您可以直接访问数组中的最后一个元素。@AlexanderAnikin好的,我现在可以看到了。你知道我能达到我需要的结果吗?你可以用Arrays.stream(g2)从数组中获得DoubleStream并将其用作流。请提供使用EventAnalyzer的代码。