私は入力として単一の値を必要とするメソッドを持っていますが、配列内の情報しか持っていません。私は検索して、スキャナが値をストリームできることを知っていましたが、文字列形式でしか見つかりませんでした。だから私は文字列に配列を変更し、値を返す前にそれをダブルに変換する必要があると思った。scannerを使用して配列から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型を返しますMethodeのにストリーミング値を供給する必要があります。
これはそれの短い例のようなものです:
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()とそれ以上の悪はありません。また、あなたの関数は再入可能ではなく、何もストリーミングせず、最後の値を取得するために配列全体を解析しますが、配列の最後の要素に直接アクセスできます。 –
@AlexanderAnikin大丈夫、私は今それを見ることができます。私は必要な結果を得ることができますか? –