У меня есть метод, которому нужны одиночные значения в качестве ввода, но у меня есть только информация в массиве. Я искал и узнал, что Scanner может передавать значения, но только в строковой форме. Поэтому я решил изменить массив в строку и затем преобразовать его обратно в двойное, прежде чем возвращать значение.Можно ли передавать двойные значения из массива с помощью сканера?
Вот что я написал.
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;
}
Когда я запустил код, он потерпел неудачу. Мой вопрос в том, правильно ли идея, но мне не хватает какой-либо части, или она полностью недействительна?
Отредактировано:
мне нужно кормить значения потоковыми в Methode, которые будут анализировать каждое значение и возвращать Int.
Это своего рода краткий пример этого:
public int EventAnalyzer(double E) {
if (E > c_max)
a = 0;
else
a = 1;
return a;
}
private void isDetected (int a){
CharSequence t0 = "No breathing";
CharSequence t1 = "Normal breathing";
TextView textView = (TextView)findViewById(R.id.apnea);
if(a==0)
textView.setText(t0);
if(a==1)
textView.setText(t1);
}
Не могли бы вы указать, что вы пытаетесь достичь? – Bambino
Это совершенно недействительно. Нет больше зла, чем toString() и обратно. Кроме того, ваша функция не возвращается, не передает ничего и анализирует весь массив, чтобы получить последнее значение, тогда как вы можете напрямую обращаться к последнему элементу в массиве. –
@ Александр Аникин, я вижу это сейчас. Любая идея, я могу достичь результата, который мне нужен? –