前提
javaについて質問します。
android studioで電卓のアプリを作っており、一番最初にArrayListを初期化し、ボタンを押されるたびにその配列に値を追加しようと思っています。しかしどこに初期化文を入れてもボタンを押されるたびに初期化されてしまい、またtrycatchなどを入れて1回しか初期化しないようにしたとしてもArrayListを定義されていないみたいなエラーが出てきてしまいどうしてもできません。正しい初期化方法を教えてください。
該当のソースコード
java
1 private class ButtonClickListener implements View.OnClickListener{ 2 ArrayList<String> num = new ArrayList<String>(); 3 ArrayList<String> print = new ArrayList<String>(); 4 @Override 5 public void onClick(View view) { 6//formulaは計算を表示する部分、resultは計算結果を表示する部分 7 TextView formula = findViewById(R.id.formula); 8 TextView answer = findViewById(R.id.result); 9 10//zeroは0を出力するボタン、oneは1を出力するボタン 11 if (view.getId() == R.id.zero) { 12 num.add("0"); 13 print.add("0"); 14 }else if (view.getId() == R.id.one) { 15 num.add("1"); 16 print.add("1"); 17 } 18以下省略 19 for(String value : print){ 20 answer.setText(value); 21 } 22 System.out.println(print); 23 System.out.println(num); 24//結果は押されるたびに初期化されるので押された数字のみが代入される 25 } 26 } 27}
試したこと
初期化の位置を変えたり、if文やtrycatchを使用してみたが、初期化されていないというエラーが出てきたり、ボタンを押すたびに初期化されたりして自力では解決できなかった。
ネットでもそれらしき回答が得られなかった
補足情報(FW/ツールのバージョンなど)
android studioを使い始めて間もないのでバージョンの確認方法がわかりません。それも教えてくれると嬉しいです。
違うところで書き換わっていたりして…
配列が見当たりません。
「配列」や「初期化」、用語の使い方が誤っていると見えて、話が一部噛み合っていないようです。ボタンを押すたびに値は追加されていってはいますが表示の仕方に問題があるでしょう。この点については回答を既にいただいていますね。
どのような配列が見当たらないのでしょうか。
numとprint配列は数値のボタンが押される度にaddメソッドで追加しています。
それかListは配列では無いのでしょうか。それなら自分の間違いです。すいません。
List は配列ではありません。
[どう違うの?JavaにおけるListと配列の違いと使い分け](https://www.kenschool.jp/blog/?p=5308)
無知ですいません。配列ではなくArrayListです。間違いを訂正しました。
指摘ありがとうございました
回答2件
あなたの回答
tips
プレビュー