Java 是否可以使用scanner从数组中传输双值?
我有一个需要单个值作为输入的方法,但我只有数组中的信息。我搜索并发现扫描器可以流式传输值,但只能以字符串形式。因此,我认为应该将数组更改为字符串,然后在返回值之前将其转换回double 这是我写的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 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的代码。